python-打分(赛氪OJ)

[题目描述]
最近学校组织了校园歌手大赛,并且让全校师生为歌手评分(分数的范围为 1−100 分),但由于投票系统太过于落后,最后的计票中发现了如下几种票:
- 分数大于 100
- 分数小于 1
- 一个最高分
- 一个最低分
最终的计票要将上述几种票去除后算出平均值,请你求出最后的分数。
输入:
一行一个正整数 N ,表示票的总数。一行 N 个整数,表示每张票上的分数,中间用空格分隔。
输出:
输出最后的分数(保留两位小数)。
样例输入1
8
131 -12 60 20 2 -999 100000 100

样例输出1
40.00

来源/分类(难度系数:一星)


完整代码展示:
a=int(input())
b=list(map(int,input().split()))
c=[]
for i in range(0,len(b)):
      if 1<=b[i]<=100:
           c.append(b[i])
c.sort()
c.remove(c[0])
c.remove(c[-1])
print("{:.2f}".format(sum(c)/len(c)))


代码解释:
a=int(input()) ”,让用户输入总的票数a。
b=list(map(int,input().split())) ”,让用户输入每张票的分数,并将其储存在列表b中。
c=[]
 for i in range(0,len(b)):
       if 1<=b[i]<=100:
            c.append(b[i])   
”,先按筛选条件的第一,二项进行筛选:即建立一个空列表c,接着依次遍历列表b中元素,并判断该元素是否大于等于1且小于等于100,如果是,则将其添加进列表c中。
c.sort()
 c.remove(c[0])
 c.remove(c[-1])
”,后按筛选条件的第三,四项进行筛选:遍历结束后,对c中元素进行升序排序,然后移除c中最大值c[-1],最小值c[0]。
print("{:.2f}".format(sum(c)/len(c))) ”,打印c中元素的平均值,并保留两位小数。


运行效果展示:

0aa79f90801e460184f952ce6a2f28ff.jpg

d6a5004468df42fc99bf750e3bc19eef.jpg 

                (声明:以上内容均为原创) 

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闪云-微星

感谢大家的支持与鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值