2022届计算机学院学生会主席投票选举系统:Python代码实现
2022届计算机学院学生会主席投票选举系统:Python代码实现
背景: 2022届计算机学院学生会主席投票选举工作即将开始,本次投票将采用电脑统计选票的方式。为了确保选举的公平公正,需要编写程序来统计投票结果并选出得票最高的同学作为新一届学生会主席。
问题描述: 输入包含多行,每行是一个由小写英文字母组成的字符串,表示一个姓名,遇到'*'时表示输入结束。假设参加投票学生的人数不超过200人,每个学生姓名字符串的长度小于20。
输出: 输出为一个字符串,表示当选为学生会主席的学生姓名。
思路: 使用字典记录每个候选人的票数,遇到'*'时遍历字典找出得票最高的候选人。
Python代码:
votes = {} # 使用字典存储每个候选人的票数
while True:
name = input()
if name == '*':
break
if name in votes:
votes[name] += 1
else:
votes[name] = 1
# 找出得票最高的候选人
max_votes = 0
winner = ''
for name, count in votes.items():
if count > max_votes:
max_votes = count
winner = name
print(winner)
代码解释:
- 使用
votes字典存储每个候选人的票数,键为候选人姓名,值为票数。 - 使用
while循环读取输入,直到遇到 '*' 字符。 - 如果输入的姓名已经在
votes字典中,则将对应的票数加 1;否则,将该姓名及其票数(初始值为 1)添加到字典中。 - 遍历
votes字典,找出得票最高的候选人,并将其姓名存储在winner变量中。 - 最后输出
winner变量的值,即当选的学生会主席姓名。
示例输入:
john
mary
john
mary
john
*
示例输出:
john
总结: 本程序利用 Python 字典高效地统计了每个候选人的票数,并最终确定了得票最高的候选人。这体现了 Python 在处理数据统计和排序方面的优势。
原文地址: https://www.cveoy.top/t/topic/ojKk 著作权归作者所有。请勿转载和采集!