这样的写法可以吗?有没有更简洁的?我如何求列表的总和?求列表的总和会在后面讲吗?

来源:2-13 编程练习

jinxianzi

2023-03-30 17:16:19

# coding:utf-8

contestant_1 = [99, 96, 97.5, 89, 95.5, 93, 99, 95, 98, 99.5]
contestant_2 = [91, 95.5, 97, 92, 99, 98, 94, 95.5, 96, 99]
contestant_3 = [90.5, 92, 99, 99.5, 95, 90, 97, 96, 93, 91.5]
contestant_4 = [98, 95, 95.5, 99, 92, 93.5, 93, 97.5, 96, 99.5]
contestant_5 = [95, 91.5, 93, 96, 98.5, 99, 94, 96.5, 95.5, 92]
contestant_1_max = max(contestant_1)
contestant_1_min = min(contestant_1)
contestant_every = []
print('选手一的最高分为:{}'.format(contestant_1_max),'选手一的最低分为:{}'.format(contestant_1_min))
contestant_1.remove(99.5)
contestant_1.remove(89)
print(len(contestant_1))
print(contestant_1)
contestant_1_overall =99 + 96 + 97.5 + 95.5 + 93 + 99 +95 + 98
contestant_1_every = contestant_1_overall /8
print('选手一的平均分为:{}'.format(contestant_1_every))

contestant_2_max = max(contestant_2)
contestant_2_min = min(contestant_2)
print('选手二的最高分为:{}'.format(contestant_2_max),'选手二的最低分为:{}'.format(contestant_2_min))
contestant_2.remove(99)
contestant_2.remove(91)
print(len(contestant_2))
print(contestant_2)
contestant_2_overall =95.5 + 97 + 92 + 98 + 94 + 95.5 + 96 + 99
contestant_2_every = contestant_2_overall /8
print('选手二的平均分为:{}'.format(contestant_2_every))
contestant_3.sort()
print(contestant_3)
contestant_3.remove(90)
contestant_3.remove(99.5)
print(contestant_3)
contestant_3_overall = 90.5 + 91.5 + 92 + 93 + 95 + 96 + 97 + 99
contestant_3_every = contestant_3_overall / 8
print('选手三的平均分为:{}'.format(contestant_3_every))
contestant_4.sort()
print(contestant_4)
contestant_4.remove(92)
contestant_4.remove(99.5)
print(contestant_4)
contestant_4_overall = 93 + 93.5 + 95 + 95.5 + 96 + 97.5 + 98 + 99
contestant_4_every = contestant_4_overall / 8
print('选手四的平均分为:{}'.format(contestant_4_every))
contestant_5.sort()
print(contestant_5)
contestant_5.remove(91.5)
contestant_5.remove(99)
print(contestant_5)
contestant_5_overall = 92 + 93 + 94 + 95 + 95.5 + 96 + 96.5 +98.5
contestant_5_every = contestant_5_overall / 8
print('选手五的平均分为:{}'.format(contestant_5_every))
contestant_every.append(contestant_5_every)
contestant_every.append(contestant_1_every)
contestant_every.append(contestant_2_every)
contestant_every.append(contestant_3_every)
contestant_every.append(contestant_4_every)
print(contestant_every)
contestant_every.sort()
print(contestant_every)


写回答

2回答

好帮手慕小猿

2023-03-30

同学,你好!同学写法是符合作业要求的,但是可以更简洁些,求列表的总和可以用sum() 函数,同学可以直接用max、min求出列表最大值、最小值,然后再使用remove在原列表上移除最大值、最小值。再用sum()求列表的总和,以下是求取一位同学的平均分,同学可以参考下

https://img.mukewang.com/climg/64255683093fb17a15170597.jpg

祝学习愉快~

0

好帮手慕小猿

2023-03-30

同学,你好!同学写法是符合作业要求的,但是可以更简洁些,求列表的总和可以用sum() 函数,同学可以直接用max、min求出列表最大值、最小值,然后再使用remove在原列表上移除最大值、最小值。再用sum()求列表的总和,以下是求取一位同学的平均分,同学可以参考下

https://img.mukewang.com/climg/64255683093fb17a15170597.jpg

祝学习愉快~

0

0 学习 · 4469 问题

查看课程