Python十佳歌手一 N个评委给选手打分,去掉1个最高分和1个最低分

'''
任务:学校举行校园歌手大赛,请了N个评委给选手打分,你负责设计一个程序:依次输入N个评委的评分,去掉1个最高分和1个最低分,以其余平均分作为选手最终得分。
编程要求


分数为连续输入的方式,相邻两个数之间用空格作为分隔符都可以识别。只要输入不合法,就提示重新输入。
输入合法的条件是:(A)输入的数据都是数值(B)位于区间(0,10]上的数值个数大于或等于5。
将最终输入的有效数值显示出来,基于最终的有效评分进行计算:去掉1个最高、1个最低分,求剩下的平均分作为最终得分。
最终得分保留小数点后3位有效数字。
尽量以最简洁的代码完成任务。
'''

while True:
    s=input('input score:')
    seps=', '
    for sep in seps:
        s=s.replace(sep,' ')
    s=s.split()
    try:
        data=list(map(float,s))
        data=[num for num in data if 0<num<=10]
        if len(data)>=5:
            break
    except:
        continue
print('valid scores:'+str(data))
max_score=max(data)
min_score=min(data)
avg_score=(sum(data)-max_score-min_score)/(len(data)-2)
print('max={0},min={1},score={2:.3f}'.format(max_score,min_score,avg_score))
 

回复一下评论说的问题:

 

 大家再试一下哈。觉得不错赞一下Thanks♪(・ω・)ノ

还有另一个版本的歌手大赛评委打分:

https://blog.csdn.net/weixin_46427623/article/details/124620159?spm=1001.2014.3001.5501https://blog.csdn.net/weixin_46427623/article/details/124620159?spm=1001.2014.3001.5501

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值