如今两年偶像选秀节目风头正盛,吸引了许多喜欢唱跳、有一颗明星梦想的少年少女参加,青春有你正是节目之一。青春有你采用计票机制,选手获得的 票数越多,排名就越靠前。本实例要求编写程序,接收选手的姓名和票数
时间: 2024-09-26 20:15:36 浏览: 22
在中国的真人秀节目中,如《青春有你》,确实非常受欢迎,它通过观众投票的方式选拔出优秀的练习生。如果需要编写一个简单的程序来模拟这个过程,我们可以设计一个结构,比如创建一个`Candidate`类,包含`name`(姓名)和`votes`(票数)属性。
```python
class Candidate:
def __init__(self, name, votes=0):
self.name = name
self.votes = votes
def receive_vote(self, num_votes):
"""接受投票"""
self.votes += num_votes
def rank(self):
"""返回排名,基于票数从高到低"""
return sorted(Candidate, key=lambda x: x.votes, reverse=True).index(self) + 1
# 示例使用
candidate1 = Candidate("张三", 500)
candidate2 = Candidate("李四", 800)
candidate1.receive_vote(300)
candidate2.receive_vote(200)
print(candidate1.rank(), ":", candidate1.name, "得票数:", candidate1.votes)
print(candidate2.rank(), ":", candidate2.name, "得票数:", candidate2.votes)
```
在这个例子中,你可以根据需要增加更多的功能,如显示整个候选人的列表等。