2022届计算机学院学生会主席投票选举系统:Python编程实现
2022届计算机学院学生会主席投票选举系统:Python编程实现
背景:
计算机学院 2022届学生会主席投票选举工作定于5月6日在教学楼前隆重举行。本次投票将采用电脑统计选票的方式,当投票选举正式开始后,同学们将排队——走到电脑前, 投上自己神圣的一票:在电脑前输入一个姓名,然后输入回车表示确认。当所有同学投票结束,工作人员只需要输入一个'*'并回车确认,表示投票结束,电脑立即显示出得票最高的同学姓名,该同学将当选为新一届计算机与通信工程学院学生会主席。假定票数相等时先输入的姓名为主席。
选举大会的准备工作正在紧张进行,编程统计投票的工作就交给你了。
输入:
本题为单实例测试。输入包含多行,每行是一个由小写英文字母组成的字符串,表示一个姓名,遇到'*'时表示输入结束。你可以假定,参加投票学生的人数不超过200人,每个学生姓名字符串的长度小于20。
输出:
输出为一个字符串——当选为学生会主席的学生姓名。
思路:
使用字典统计票数,记录得票最高的候选人,最后输出得票最高的候选人即可。
代码实现:
candidate_votes = {}
winner = ""
while True:
name = input()
if name == "*":
break
if name not in candidate_votes:
candidate_votes[name] = 1
else:
candidate_votes[name] += 1
if candidate_votes[name] > candidate_votes.get(winner, 0):
winner = name
print(winner)
注意事项:
- 输入姓名时要判断是否已经在字典中,如果不在则初始化为1,否则票数+1。
- 要判断得票最高的候选人,如果当前候选人的票数大于目前得票最高的候选人,则更新得票最高的候选人。
- 要使用
candidate_votes.get(winner, 0)获取当前得票最高的候选人的票数,如果该候选人还未出现,则默认为0。
原文地址: https://www.cveoy.top/t/topic/ojJ7 著作权归作者所有。请勿转载和采集!