所以我应该从{P1:N1,P2:N2}中找到赢家,其中N1和N2是玩家P1和玩家P2在比赛中获胜的游戏数,我必须编写一个函数winner(records:List[Dict[str,int]])
,它获取所有比赛记录的列表并返回锦标赛赢家的名字。
锦标赛获胜者被确定为每个输入中获胜次数最多的玩家。
此外,如果不能确定获胜者,函数应该返回字符串-
。
示例
assert winner([{'A':2,'B':1}]) == 'A'
assert winner([{'A':3,'B':0},{'A':1,'C':2}]) == '-'
assert winner([{'A':3,'B':0},{'A':1,'C':2},{'B':0,'C':3}]) == 'C'
assert winner([{'A':3,'B':0},{'A':1,'C':2},{'B':0,'D':3},{'A':2,'D':1}]) == 'A'
assert winner([{'A':3,'B':0},{'B':2,'C':1},{'C':2,'D':1},{'A':0,'D':3}]) == '-'
这是我到目前为止对代码的尝试...
def finder(records):
for x in winners:
return max(x, key = x.get)
def winner(records):
for x in finder(records):
if x.count == max(x.count):
return x
else:
return '-'
但是它真的不起作用...我应该对我的代码做什么修改??
稍微调整一下您的代码,这将得到预期的结果:
def winner(records):
winners={} # dictionary to keep players and number of wins
for x in records:
maxplayer= max(x,key=x.get) # find winner player
# update dict of winners
if maxplayer in winners:
winners[maxplayer]+=1
else:
winners.update({maxplayer:1})
maxpoints=max(winners.values()) # find total points winner(s)
# if more than 1 player with max points is a tie
if list(winners.values()).count(maxpoints)>1:
return "-"
else:
return max(winners, key=winners.get)
所以,请,我们被困在试图实现每个队的总积分,并根据总积分获得获胜者
我想写一个brainfuck口译员,但我错过了一些上下文或其他东西。应该被调用以处理“
我是Hibernate和JPA的新手,我对这个注释有问题。有人能简单地解释一下这个注释到底在做什么吗?因为在这种情况下,文档对我来说很难理解。 编辑我明白什么是持久上下文,但在代码中,我有这样的例子: 我对@PerustenceContext做什么有问题。抱歉,也许我没有具体说明。
我不知道“?”和“:”的用法。
我试图使用JDK1.8.0_xxx连接到jms服务,但遇到ssl握手错误。但是,我不能真正理解javax.net.debug的输出。 在日志片段的上面是我的问题: 1。这些是指我的JDK吗? 如果我对以上日志的理解是正确的,那么下面的日志会让我困惑。我尝试使用相同的jdk连接到另一个服务器,并在调试日志下面。 希望我的问题足够清楚,并感谢所有的帮助。谢了。