如今两年偶像选秀节目风头正盛,吸引了许多喜欢唱跳、有一颗明星梦想的少年少女参加,青春有你正是节目之一。青春有你采用计票机制,选手获得的票数越多,排名就越靠前。 本实例要求编写程序,接收选手的姓名和票
时间: 2024-12-13 22:26:40 浏览: 13
在这个模拟的程序设计任务中,我们可以创建一个简单的结构来存储选手信息,并通过用户输入更新和显示他们的票数。以下是一个基础的Python程序示例:
```python
class Idol:
def __init__(self, name):
self.name = name
self.votes = 0
def receive_votes(self, votes):
self.votes += votes
print(f"{self.name}收到了{votes}票,目前总票数为{self.votes}.")
def get_ranking(self):
return f"{self.name}当前的排名是{self.votes}"
# 主函数
def main():
idols = [Idol(name) for name in input("请输入所有选手的姓名,用逗号分隔:").split(",")]
while True:
user_input = input("请输入选手姓名或'quit'退出:")
if user_input.lower() == 'quit':
break
vote_count = int(input("请输入给该选手的票数:"))
for idol in idols:
if idol.name.lower() == user_input.lower():
idol.receive_votes(vote_count)
break # 只对匹配的选手进行投票操作
for i, idol in enumerate(sorted(idols, key=lambda x: x.votes, reverse=True), start=1):
print(f"第{i}名:{idol.get_ranking()}")
if __name__ == "__main__":
main()
```
这个程序首先定义了一个`Idol`类,包含姓名和票数属性,以及接收投票和获取排名的方法。主函数中创建了选手列表,然后循环接收用户输入的选手名字和票数,更新对应的选手票数并按得票数排序显示排名。
阅读全文