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,否则票数+1。
  2. 要判断得票最高的候选人,如果当前候选人的票数大于目前得票最高的候选人,则更新得票最高的候选人。
  3. 要使用candidate_votes.get(winner, 0)获取当前得票最高的候选人的票数,如果该候选人还未出现,则默认为0。

原文地址: https://www.cveoy.top/t/topic/ojJ7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录