1.【项目:大奖赛计分】
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
【项目扩展1(选做)】大奖赛编的计分程序,成绩在0-10之间,输入错误时要能马上重新输入,选手最后得分为:去掉一个最高分和一个最低分。评委人数(图中为7)需要在在程序开始运行时输入(这比固定10个评委的程序更有适应性了)。
【项目扩展2(选做)】在扩展1基础上,输出当前选手的最后得分后,提示“按任意键计算下一位选手的成绩,退出请选择N:”如果输入的不是N或n,可以为下一位选手计算成绩。运行结果如图所示。
代码:
n = int(input('评委人数:'))
while True:
scores = []
for i in range(1, n+1):
while True:
score = float(input('评委%d分数:' %i))
if not 0 <= score <= 10:
print('分数有误请重新输入。')
else:
scores.append(score)
break
min,*mid,max = sorted(scores)
grade = sum(mid)/(n-2)
print('选手最终得分:%d