为丰富校园文化生活,学校拟组织一场歌手大赛,从参赛学生中选拔出十名相对突出的选手,授予“校园十大歌手”称号。 请为校园十大歌手的比赛计票,要求保存选手的姓名和票数,最后输出排序后的成绩。 计票,由键盘输入相应的选手姓名,输入一次计1票,最后统计完之后排序输出。
时间: 2024-10-12 16:14:41 浏览: 80
为了实现这个功能,你可以编写一个简单的控制台程序,使用Python的字典来存储选手的姓名和票数,并利用内置的`sorted()`函数进行排序。以下是一个简单的示例:
```python
# 初始化一个空的字典来保存选手信息
voting_dict = {}
while True:
# 请求用户输入选手姓名并计票
name = input("请输入选手姓名(输入'q'退出):")
if name.lower() == 'q':
break
if name in voting_dict:
voting_dict[name] += 1
else:
voting_dict[name] = 1
# 对字典按照值(票数)降序排序
sorted_singers = sorted(voting_dict.items(), key=lambda x: x[1], reverse=True)
# 输出结果
print("\n--")
for i, (name, votes) in enumerate(sorted_singers, start=1):
print(f"{i}. {name}: {votes} 票")
# 如果需要输出完整的字典,可以在这里添加
# for key, value in voting_dict.items():
# print(f"{key}: {value}")
```
在这个程序中,用户可以输入选手姓名投票,当输入'q'时结束投票。最后按票数从高到低排列并显示排名。
阅读全文