使用 max() 在列表中查找最高值,如果它们并列,则只选择一个



我正在制作一个投票软件,遇到了一些问题。下面是一个示例:

import random
One = "James"
Two = "Tabitha"
Three = "Emory"
running = {One: 0, Two: 0, Three: 0}
#Enter voting code here
winner = max(running)

我想这样做,如果两个候选人并列获胜,它将随机选择其中一个作为获胜者。有什么办法可以做到这一点吗?

您可以找到最大票数,然后从字典中选择具有该值的键:

max_votes = max(running.values())
winners = [candidate for candidate, votes in running.items() if votes == max_votes]
winner = random.choice(winners)
winners=[]
for key,value in running:
if value == winner
winners.append(key)
<pick random person from winners>

最新更新