需求:
输入一系列成绩,每次输入一个成绩之后都询问是否还要继续输入y/n,输入n后可以计算这些成绩的平均值,并且统计优良中及格、不及格的人数优>=90良>=80中>=70及格>=60不及格<60
代码:
# num :有效成绩数量
# ave_score : 平均成绩
# all_score : 总成绩
# score : 输入的单个成绩
# grade : 优良等级
num = 0
all_score = 0
grade = ''
num1 = 0 # 不及格人数
num2 = 0 # 及格人数
num3 = 0 # 得 '中'人数
num4 = 0 # 得 '良'人数
num5 = 0 # 得 '优'人数
while True:
score = int(input('请输入成绩:'))
if score < 0 or score > 100:
score = int(input('输入有误!成绩在0~100之间。请重新输入:'))
all_score = all_score + score
num += 1
if score < 60:
grade = '不及格'
num1 += 1
elif score < 70:
grade = '及格'
num2 += 1
elif score < 80:
grade = '中'
num3 += 1
elif score < 90:
grade = '良'
num4 += 1
else:
num5 += 1
grade = '优'
i = input('是否继续输入(y 表示继续,n 表示不继续):')
if i == 'n':
average_score = all_score / num
break
if i == 'y':
pass
else:
i = input('输入错误!是否继续输入(y 表示继续,n 表示不继续):')
print('*'*20)
print("平均成绩是", average_score)
print('有效成绩数', num)
print("不及格人数", num1)
print("及格人数", num2)
print("得 '中'人数", num3)
print("得 '良'人数", num4)
print("得 '优'人数", num5)