题目描述
Description
班级进行班长选举,有三个候选人Tom、Rose、Bill。班委会人数8,每人投一票,票面为候选人姓名(Tom、Rose、Bill),姓名如果不存在,则选票作废。统计各候选人得票数,并输出得票数最高的姓名和票数。输入格式为每个人名占一行输入。
数据输入输出要求
Input
Tom
Tom
Bill
Rose
Tom
Bill
Bill
Bill
Output
Bill 4
题解
思路
设置空子集,key=人名,value=票数。对应值放入字典后将其进行逆向排序。注意:调试题解的时候不要直接复制网页上的测试值,最好手动输入。
代码
vote_count = {}
for i in range(8):
name = input()
vote_count[name] = vote_count.get(name, 0) + 1
sorted_votes = sorted(vote_count.items(), key=lambda x: x[1], reverse=True)
print(f"{sorted_votes[0][0]}:{sorted_votes[0][1]}")