python歌手打分求平均值
时间: 2023-11-16 21:00:33 浏览: 96
这段代码是一个Python程序,用于计算歌手的得分平均值。程序首先定义了一个空列表scores,用于存储评委的打分。然后通过for循环,依次输入每个评委的打分,并将其存入scores列表中。接着,程序使用max和min函数分别找出最高分和最低分,并使用remove函数将其从scores列表中删除。最后,程序计算剩余分数的平均值,并输出该歌手的得分。
相关问题
在python中模拟歌手打分程序。在歌咏比赛中,打分流程为评委对歌手打分,计算平均分时, 需要去掉一个最高分,去掉一个最低分,然后输出平均分。编写一个歌手打分程序, 输入评委的打分(评委至少有3人),输出平均分。核心部分用带可变参数的函数实现。
在Python中,我们可以创建一个名为`average_score`的函数,它接受任意数量的整数作为评委评分,并通过列表推导式、排序以及切片操作来实现去头去尾求平均分的功能。以下是一个简单的例子:
```python
def average_score(*scores):
# 检查评分人数是否大于等于3
if len(scores) < 3:
return "评分人数不足3人,请至少输入3位评委的分数。"
# 将所有评分放入一个列表中
all_scores = list(scores)
# 对评分进行排序
sorted_scores = sorted(all_scores)
# 去掉最高分和最低分
top_score = sorted_scores.pop()
bottom_score = sorted_scores.pop(0)
# 计算剩余评分的平均值
remaining_scores = [score for score in sorted_scores]
avg_score = sum(remaining_scores) / len(remaining_scores)
return f"去掉最高分{top_score}和最低分{bottom_score}后的平均分为:{avg_score:.2f}"
# 使用示例
评委打分 = (85, 90, 78, 92, 88)
result = average_score(*评委打分)
print(result)
```
在这个程序中,`*scores`表示接收任意数量的位置参数,我们首先检查评分的数量,然后将它们存储在一个列表中并排序。接着,我们使用列表的`pop()`方法去掉最高分和最低分,最后计算剩余分数的平均值。注意,`:.2f`用于保留两位小数。
Python在歌星大赛中,有10个评委为歌手打分,分数为1-100分。歌手最后得分为:去掉一个最高分和一个最低分后的平均值。请编写程序,输入10个分数,计算平均值。保存为0102.py
好的,以下是0102.py的代码实现:
```python
scores = [] # 创建空列表存储分数
for i in range(10):
score = int(input("请输入第%d个评委的分数:" % (i+1)))
scores.append(score) # 将分数添加到列表中
scores.sort() # 对分数从小到大排序
average = sum(scores[1:-1]) / 8 # 去掉最高分和最低分后的平均分
print("去掉一个最高分和一个最低分后的平均分为:%.2f" % average)
```
运行程序后,按照提示输入10个评委的分数,程序将自动计算去掉最高分和最低分后的平均分并输出结果。
阅读全文