有比这个更简洁的写法吗?
list_1 = [99, 96, 97.5, 89, 95.5, 93, 99, 95, 98, 99.5] list_2 = [91, 95.5, 97, 92, 99, 98, 94, 95.5, 96, 99] list_3 = [90.5, 92, 99, 99.5, 95, 90, 97, 96, 93, 91.5] list_4 = [98, 95, 95.5, 99, 92, 93.5, 93, 97.5, 96, 99.5] list_5 = [95, 91.5, 93, 96, 98.5, 99, 94, 96.5, 95.5, 92] list_1.remove(max(list_1)) list_1.remove(min(list_1)) list_2.remove(max(list_2)) list_2.remove(min(list_2)) list_3.remove(max(list_3)) list_3.remove(min(list_3)) list_4.remove(max(list_4)) list_4.remove(min(list_4)) list_5.remove(max(list_5)) list_5.remove(min(list_5)) avg_1 = sum(list_1)/len(list_1) avg_2 = sum(list_2)/len(list_2) avg_3 = sum(list_3)/len(list_3) avg_4 = sum(list_4)/len(list_4) avg_5 = sum(list_5)/len(list_5) print('第一位选手最后得分为:\t{}\n第二位选手最后得分为:\t{}\n第三位选手最后得分为:\t{}\n第四位选手最后得分为:\t{}\n第五位选手最后得分为:\t{}\n'.format(avg_1, avg_2, avg_3, avg_4, avg_5))
20
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕凡
2023-01-02 09:53:18
同学,你好!
有更简洁的写法,可以使用循环执行一些重复操作,同学可以继续往后学习,学习一下循环,参考代码如下:
list_1 = [99, 96, 97.5, 89, 95.5, 93, 99, 95, 98, 99.5] list_2 = [91, 95.5, 97, 92, 99, 98, 94, 95.5, 96, 99] list_3 = [90.5, 92, 99, 99.5, 95, 90, 97, 96, 93, 91.5] list_4 = [98, 95, 95.5, 99, 92, 93.5, 93, 97.5, 96, 99.5] list_5 = [95, 91.5, 93, 96, 98.5, 99, 94, 96.5, 95.5, 92] lists=[list_1,list_2,list_3,list_4,list_5] sum_total = [] #使用循环计算list_1到list_5的最终得分,并添加到sum_total列表中 for list_i in lists: list_i.remove(max(list_i)) list_i.remove(min(list_i)) sum_total.append(sum(list_i) / len(list_i)) lst = [] for index, num in enumerate(sum_total): lst.append([index + 1, num]) #排序 # key--主要是用来进行比较的元素,i是lst列表中的元素,i[1]是元素列表中的值 result = sorted(lst, key=lambda i: i[1]) for i in result: print('第{}位的得分是{}'.format(i[0], i[1]))
祝学习愉快~
Python全能工程师
- 参与学习 人
- 提交作业 16246 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星