1.问题
编写代码模拟比赛最终成绩的计算过程,至少三个评委,去掉最高分和最低分并计算剩余分数的平均分要求最终结果为整数。
2.方法
首先使用一个循环要求输入评委人数,再次使用循环输入每个评委的打分,最后删除最高分和最低分并计算剩余分数的平均分。
代码清单1
while True:
try:
n = int(input("请输入评委人数:"))
if n <= 2:
print("评委人数至少3人")
else:
break
except:
pass
scores = []
for i in range(n):
while True:
try:
score = input("请输入第{}个评委的分数:".format(i+1))
score = float(score)
assert 0<=score<=100
scores.append(score)
break
except:
print("分数错误")
highest = max(scores)
lowest = min(scores)
scores.remove(highest)
scores.remove(lowest)
finalScore = round(sum(scores)/len(scores))
M= '去掉一个最高分{0}\n去掉一个最低分{1}\n最后得分{2}'
print(M.format(highest,lowest,finalScore))
3.结语
针对评委评分并计算平均值的问题,提出利用循环的方法,通过此次实验,证明该方法是有效的。