Description
班级进行班长选举,有三个候选人Tom、Rose、Bill。班委会人数8,每人投一票,票面为候选人姓名(Tom、Rose、Bill),姓名如果不存在,则选票作废。统计各候选人得票数,并输出得票数最高的姓名和票数。输入格式为每个人名占一行输入。
Format
Input
Tom
Tom
Bill
Rose
Tom
Bill
Bill
Bill
Bill
Output
Bill 4
tips:
字典中用items函数获取字典中key-value的键值对:
字典中get函数的用法总结:
代码:
# 定义一个空字典 用来接收输入的名字以及票数(key值为名字 value为累计的票数)
count_dict = {}
# 利用for循环8次 以便接收八次投票的结果
for key in range(8):
# 输入名称
name = input()
# 利用get函数 将对应的key值的值每一次加1
count_dict[name] = count_dict.get(name, 0) + 1
# 定义变量max 后续会将字典中的key值进行比大小
max = 0
# 定义一个空字符变量 mname 对应最大投票值的名字
mname = " "
# items函数获取字典的键值对 (翻转字典的键值对那题也遇到了)
for key, value in count_dict.items():
if value > max:
max = value
mname = key
print(mname, max)
纯享版:
count_dict = {}
for key in range(8):
name = input()
count_dict[name] = count_dict.get(name, 0) + 1
max = 0
mname = " "
for key, value in count_dict.items():
if value > max:
max = value
mname = key
print(mname, max)