
求解求解,输入学号成绩,统计平均分,将平均分以下学生的学号输出
下面是解答:
n = int(input())
score_per = []
number_per = []
low = []
for i in range(n):
s = input()
s = s.split(' ')
number_per.append(s[0])
score_per.append(int(s[1]))
score_aver = round(sum(score_per) / n,1)
for scr in range(len(score_per)):
if score_per[scr] < score_aver:
low.append(number_per[scr])
print(score_aver)
for per in low:
print(per)
但是,如果脱离题目考虑,这个程序也可以设计得更有“人情味”:
n = int(input('请输入待评估的学生总数:'))
score_per = []
number_per = []
low = []
for i in range(n):
s = input('请按照格式输入学生学号和分数:')
s = s.split(' ')
number_per.append(s[0])
score_per.append(int(s[1]))
score_aver = round(sum(score_per) / n,1)
for scr in range(len(score_per)):
if score_per[scr] < score_aver:
low.append(number_per[scr])
print(f'平均成绩为:{score_aver}分。\n下面是本次低于平均分的学生的学号:')
if len(low) != 0:
for per in low:
print(per)
else:
print('本次没有低于平均分的同学。')
希望对您有帮助!