编与一个能统计候选人票数的小程序。 路56pv 多人对若干个侯选人投票。 循环输入候选人的名字,将其仔入到列表tp中,直到输入end为止 计算每个候选人的得票数,按从高到低品示名次、 姓名 票数 例如输入 li zhang wang Zhang zhang wang li end 显示结果为 第1名姓名票数5 第2名姓名zhang票数3 第3名姓名wang票数2
时间: 2023-06-14 10:03:52 浏览: 218
好的,以下是 Python 代码实现:
```python
candidates = [] # 存储候选人名字的列表
votes = {} # 存储候选人得票数的字典
# 循环输入候选人名字
while True:
name = input("请输入候选人名字(输入end结束):")
if name == "end":
break
candidates.append(name) # 将候选人名字添加到列表中
votes[name] = 0 # 初始化该候选人的得票数为0
# 循环输入投票结果
while True:
vote = input("请输入投票结果(输入end结束):")
if vote == "end":
break
if vote not in candidates:
print("输入错误,请重新输入!")
continue
votes[vote] += 1 # 该候选人的得票数加1
# 按得票数从高到低排序并输出结果
rank = 1
for name, count in sorted(votes.items(), key=lambda x: x[1], reverse=True):
print("第%d名\t姓名:%s\t票数:%d" % (rank, name, count))
rank += 1
```
运行程序,输入候选人名字和投票结果,即可输出统计结果。
阅读全文