一、判断年份
实验目的:掌握分支结构的选择和使用;
实验内容:用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。
【提示】①答案不唯一。②凡符合下面两个条件之一的年份是闰年。1、能被4整除但不能被100整除。2、能被400整除。
year = eval(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print("该年份是闰年")
else:
print("该年不是闰年")
二、分段函数计算
实验目的:掌握分支结构的选择和使用;
实验内容:用分支结构实现分段函数计算,如下所示: 当x<0时, y=0; 当0<=x<5时, y=x; 当5<=x<10时, y=3x-5; 当10<=x<20时, y=0.5x-2; 当20<=x时, y=0
【提示】①答案不唯一。
x = int(input("输入x的值:"))
y = 0
if x < 0:
y = 0
print(y)
elif 0 <= x < 5:
y = x
print(y)
elif 5 <= x < 10:
y = 3 * x - 5
print(y)
elif 10 <= x < 20:
y = 0.5 * x - 2
print(y)
else:
y = 0
print(y)
三、象限判断
实验目的:掌握分支结构的选择和使用;
实验内容:编写程序实现输入x,y,判断其属于第几象限。
str1 = str(input(''))
a = str1.count('-')
b = str1[1]
if a == 0:
print('第一象限')
elif a == 2:
print('第三象限')
else:
if b == '-':
print('第二象限')
else:
print('第四象限')
四、地铁车票价格计算
实验目的:掌握分支结构的选择和使用;
实验内容:购买地铁车票的规定如下: 乘1-4站,3元/位;乘5-9站,4元/位;乘9站以上,5元/位。 输入乘坐人数(per_num)和乘坐站数(sta_num),计算购买地铁车票需要的总金额,并将计算结果输出。注意: 如果「乘坐人数」和「乘坐站数」为 0 或负数 ,输出 error 。
per_num = int(input("输入乘坐人数:"))
sta_num = int(input("输入乘坐站数:"))
money = 0
if per_num <= 0 or sta_num <= 0:
print("error")
elif 1 <= sta_num <= 4:
money = 3 * per_num
print(money)
elif 5 <= sta_num <= 9:
money = 4 * per_num
print(money)
else:
money = 5 * per_num
print(money)
五、统计字符
实验目的:掌握分支结构的选择和使用;
实验内容:从键盘接收一个字符串,分别统计其中大写字母、小写字母、数字和其他字符的个数并输出。
str = input("输入字符串:")
j = len(str)
a = 0
b = 0
c = 0
d = 0
for j in range(j):
if '0' <= str[j] <= '9':
a += 1
elif 'a' <= str[j] <= 'z':
b += 1
elif 'A' <= str[j] <= 'Z':
c += 1
else:
d += 1
print("数字:", a)
print("大写字母:", c)
print("小写字母:", b)
print("其他:", d)
六、生成矩阵。
实验目的:掌握循环结构的选择和使用;
实验内容:编写程序,根据输入的行列数值,生成相应的矩阵,矩阵内元素为随机数。
【提示】①答案不唯一。②生成随机数可使用random.randint(),生成数组可使用np.ones(),用其他方法也可以不扣分。
import random
n = int(input("请输入行:"))
m = int(input("请输入列:"))
x = y = 0
while x < n:
y = 0
while y < m:
print(random.randint(1, 100), end="\t")
y += 1
print()
x += 1
七、判断素数。
实验目的:掌握分支结构的选择和使用;掌握循环结构的选择和使用;掌握流程控制语句break/continue的选择和使用。
实验内容:编写程序并绘制程序流程图,实现输入一个数,判断这个数是否为素数,并输出判断结果“x是素数”或“x不是素数”。
【提示】①答案不唯一。②所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。
s = int(input("请输入一个正整数:"))
if s < 2:
print("这个数不是素数!")
else:
for i in range(2, s):
if s % i == 0:
print("这个数不是素数!")
break
else:
print("这个数是素数!")
八、打印九九乘法表。
实验目的:掌握循环嵌套语句的使用。
实验内容:嵌套打印九九乘法表,如下图所示。
for i in range(1, 10):
for j in range(1, i+1):
print(f'{j}x{i}={i*j}\t', end='')
print()
九、求1~n的和。
实验目的:掌握循环语句的选择和使用。
实验内容:绘制程序流程图,并编程计算1+2+3+...+100的和,并打印计算结果“1+2+3+4+...+99+100=?”。
【提示】:①答案不唯一。②尽量用循环完成本题,用其他方法解题也可以。
n = int(input("请输入要求累加到的数:"))
sum = 0
for i in range(1,n+1):
sum += i
print(i,end="+")
print("=",sum)
十、打印图像。
实验目的:掌握循环语句的选择和使用。
实验内容:如图所示,打印星号。
# 第一个图
print("图一")
i = 1
while i<=4:
j=1
while j<=7:
print("* ", end = "")
j+=1
print("\n")
i+=1
# 第二个图
print("图二")
i = 1
while i <= 5:
j = 1
while j <= i:
print("* ", end = '')
j += 1
print(" ")
i += 1
# 第三个图
print("图三")
i=1
a=4
while i<=4:
j=1
while j<2*a:
if j<=(a-i) or j>=(a+i):
print(" ",end="")
else:
print("*", end = "")
j+=1
print("\n")
i+=1
# 第四个图
print("图四")
i=4
a=4
while i>=1:
j=1
while j<2*a:
if j<=(a-i) or j>=(a+i):
print(" ",end="")
else:
print("*", end = "")
j+=1
print("\n")
i-=1
# 第五个图
print("图五")
i = 1
while i <= 5:
j = 1
while j <= i:
print("* ", end = '')
j += 1
print(" ")
i += 1
i = 4
while i >= 1:
j = 1
while j <= i:
print("* ", end = '')
j += 1
print(" ")
i -= 1
# 第六个图
print("图六")
i=1
a=4
while i<4:
j=1
while j<2*a:
if j<=(a-i) or j>=(a+i):
print(" ",end="")
else:
print("*", end = "")
j+=1
print("\n")
i+=1
i=4
a=4
while i>=1:
j=1
while j<2*a:
if j<=(a-i) or j>=(a+i):
print(" ",end="")
else:
print("*", end = "")
j+=1
print("\n")
i-=1