欢迎光临散文网 会员登陆 & 注册

Python编程算法【三十五】歌星大奖赛

2023-02-18 09:39 作者:SPC编程爱好者  | 我要投稿

【案例内容】

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为89~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。


【解题思路】

本题可借用随机函数 random 随机出10个分数,取值范围在89-100之间,包括89和100,再用列表存储这10个分数。

方法一:可以先用 max()和 min() 找出其中的最大值与最小值,即最高分和最低分,接着用列表的 remove() 方法去掉这两个分数,然后再用 sum() 求出总和即总分,最后除以个数8就是平均分,其中个数也可以用 len()函数求得。

方法二:先用 sum() 求出总分,再用 max()和 min() 找出其中的最高分和最低分,然后用总分减去最高分和最低分,最后除以个数8就是平均分,其中个数也可以用 len()函数求得。


【Python代码】

先去掉做最高、最低后再算平均分
先算总分再减去最高、最低后,最后平均

本题的两种解题思路都可以求出平均分。相较之下,第二种的解法可以不需要用到remove函数,因为有运算顺序,所以要注意加上括号,同时第二种方法也容易直接写成一行,看起来也很清楚、明白。小伙伴们可以尝试看看。

Python编程算法【三十五】歌星大奖赛的评论 (共 条)

分享到微博请遵守国家法律