编程统计票数怎么看

时间:2025-01-27 12:40:16 网络游戏

统计票数的方法有很多种,以下是一个简单的Python示例,展示了如何使用字典来存储候选人和他们获得的票数,并提供了一个统计功能来显示结果:

```python

定义一个字典来存储候选人和他们获得的票数

candidates = { '张三':0, '李四':0, '王五':0 }

定义一个集合来记录已经投过票的用户

voted_users = set()

定义一个函数来处理投票

def vote(name):

if name in candidates:

candidates[name] += 1

return f'投票成功!{name}当前得票数:{candidates[name]}'

else:

return '咦?这个人不在候选名单里哦'

定义一个函数来显示投票结果

def show_results():

sorted_results = sorted(candidates.items(), key=lambda x:x, reverse=True)

result_str = '当前投票结果:\n'

for name, votes in sorted_results:

result_str += f'{name}:{votes}票\n'

return result_str

测试投票

print(vote('张三'))

print(vote('李四'))

print(vote('张三'))

显示投票结果

print(show_results())

```

代码解释:

定义候选人和票数

```python

candidates = { '张三':0, '李四':0, '王五':0 }

```

这里使用字典`candidates`来存储每个候选人的得票数,初始值为0。

记录已投票用户

```python

voted_users = set()

```

使用集合`voted_users`来记录已经投过票的用户,以确保每个用户只能投一次票。

投票函数

```python

def vote(name):

if name in candidates:

candidates[name] += 1

return f'投票成功!{name}当前得票数:{candidates[name]}'

else:

return '咦?这个人不在候选名单里哦'

```

这个函数接受一个名字作为参数,如果这个名字在候选人的字典中,则增加其票数并返回成功信息;否则返回一个错误信息。

显示结果函数

```python

def show_results():

sorted_results = sorted(candidates.items(), key=lambda x:x, reverse=True)

result_str = '当前投票结果:\n'

for name, votes in sorted_results:

result_str += f'{name}:{votes}票\n'

return result_str

```

这个函数将候选人的得票数按降序排序,并生成一个字符串来显示结果。

测试投票和显示结果

```python

print(vote('张三'))

print(vote('李四'))

print(vote('张三'))

print(show_results())

```

这里通过调用`vote`函数来模拟投票过程,并通过`show_results`函数来显示最终的投票结果。

通过这种方式,你可以轻松地统计和管理候选人的得票数,并且可以根据需要扩展和修改代码。