编写程序,为新生歌手赛统计评委分数,实现以下功能:在一行内输入多个评委分数,以逗号间隔,去掉一个最高分、一个最低分后,剩下评分的平均值为最后得分,保留1位小数。 输入格式及样例: 在同一行输入多个评委分数,以逗号间隔。
时间: 2024-02-22 12:57:44 浏览: 63
好的,以下是 Python 的代码实现:
```python
scores = input().split(',') # 输入评委分数,以逗号分隔
scores = [float(score) for score in scores] # 将评委分数转换为浮点数类型
# 去掉一个最高分和一个最低分
max_score = max(scores)
min_score = min(scores)
scores.remove(max_score)
scores.remove(min_score)
# 计算平均分并保留一位小数
avg_score = round(sum(scores) / len(scores), 1)
print(avg_score)
```
使用方法:在终端中输入评委分数并以逗号分隔,然后按 Enter 键即可得到最终得分。例如:
```
9.5, 8.8, 9.2, 9.0, 9.3, 8.9
```
输出结果为:
```
9.1
```
相关问题
编写程序,为新生歌手赛统计评委分数,实现一下功能:在一行内输入多个评委分数,以逗号隔开,去掉一个最高分,一个最低分后,剩下评分的平均值为最后得分,保留
两位小数输出。
以下是 Python 代码实现:
```python
score_str = input("请输入评委分数,以逗号隔开:")
score_list = score_str.split(",") # 将字符串转换为列表
score_list = [float(score) for score in score_list] # 将列表中的元素转换为浮点数
# 去掉一个最高分和一个最低分
score_list.remove(max(score_list))
score_list.remove(min(score_list))
avg_score = sum(score_list) / len(score_list)
print("最终得分为:{:.2f}".format(avg_score))
```
运行示例:
```
请输入评委分数,以逗号隔开:9.5, 8.7, 9.0, 9.8, 8.9
最终得分为:9.07
```
请为一个歌唱比赛的歌手打分环节编写一个Python程序,每个歌手表演完毕后,现场的10个评委为其进行打分,评分规则为去掉一个最高分,去掉一个最低分,然后计算平均分即为歌手的成绩。假设输入数据中10个评委的成绩按照一行输入,两个数据之间用一个逗号分隔。
你可以创建一个简单的Python函数来处理这个问题。首先,我们需要从用户那里获取每位歌手的评委分数,然后去除最高分和最低分,最后计算剩余8个分数的平均值。以下是一个示例程序:
```python
def calculate_song_score():
scores = []
# 循环询问并接收10位评委的评分
while len(scores) < 10:
score_str = input("请输入下一位评委的分数(格式如 '评委1,评委2,...'),如果已完成所有评分请输入'end':")
if score_str.lower() == "end":
break
# 分割输入的字符串得到评委得分列表
scores.extend([int(score) for score in score_str.split(',')])
# 去掉最高分和最低分
sorted_scores = sorted(scores)
top_score = sorted_scores.pop()
bottom_score = sorted_scores.pop(0)
# 计算并返回平均分
average_score = sum(sorted_scores) / (len(sorted_scores))
return average_score
# 调用函数并打印结果
score = calculate_song_score()
print(f"歌手的最终得分为: {score}")
# 相关问题 --
阅读全文