输入将包含食品列表,其中每个食品项代表一票。您应该打印获奖食品作为输出。如果没有明确的获胜者,请打印“ NOTA”。
样本输入:
["pasta","pasta","pasta","pasta","pasta","paratha","paratha","paratha"]
样本输出:
pasta
import ast,sys
input_str = sys.stdin.read()
votes = ast.literal_eval(input_str)
d = {}
for i in votes:
if i not in d:
d[i]=1
else:
d[i] = d[i] + 1
for key, value in d.items():
if value == max(d.values()):
print("{}".format(key))
答案 0 :(得分:0)
您可以使用defaultdict简化字典填充。
然后,我将使用sorted生成降序投票列表。然后,您只需要检查第二次投票是否等于第一次投票即可。
参见下文:
from collections import defaultdict
votes = ["pasta","pasta","pasta","pasta","paratha","paratha","paratha","paratha"]
count_votes = defaultdict(int)
for vote in votes:
count_votes[vote] += 1
sorted_votes = sorted(count_votes.items(), key=lambda kv: kv[1], reverse=True)
if len(sorted_votes) > 1:
if sorted_votes[1][1] == sorted_votes[0][1]:
print('NOTA')
else:
print(sorted_votes[0][0])