本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。
输入格式:
输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。
输出格式:
按照以下格式输出:
average = 成绩均值
count = 及格人数
其中平均值精确到小数点后一位。
输入样例:
5
77 54 92 73 60
输出样例:
average = 71.2
count = 4
初版范例:
运行时发现第三个测试数据会产生非零返回
n=int(input())
ls=list(map(int,input().split()))
sum=0
count=0
for i in ls:
sum+=i
average=sum/n
for i in ls:
if i>=60:
count+=1
print('average = {:.1f}'.format(average))
print('count = {}'.format(count))
正确代码:
仔细看题目会发现,题目说的是非负整数N,因此N可以为0。可以选择if来条件判断,也可以选择用try……except来捕获异常
n=int(input())
try:
ls=list(map(int,input().split()))
sum=0
count=0
for i in ls:
sum+=i
average=sum/n
for i in ls:
if i>=60:
count+=1
print('average = {:.1f}'.format(average))
print('count = {}'.format(count))
except:
print('average = 0.0')
print('count = 0')