players = [{'name': 'Player 1', 'score': 23, 'stayed': False, 'at_14': True, 'bust': True},
{'name': 'Player 2', 'score': 17, 'stayed': True, 'at_14': True, 'bust': False},
{'name': 'Player 3', 'score': 19, 'stayed': True, 'at_14': True, 'bust': False},
{'name': 'Player 4', 'score': 19, 'stayed': True, 'at_14': True, 'bust': False}]
def end_of_game(players):
所以这是一个游戏,在每一轮之后,我都需要调用函数来检查游戏是否结束。如果任何玩家有";停留是假的;半身像;如果也是False,则代码必须返回";错误";。如果";"停留";为假,并且";半身像;如果为True,反之亦然,则代码将转到下一步。有人知道我该怎么做吗?
实际上,使用可以非常简单地完成
all(player["stayed"] or player["bust"] for player in players )
这个表达式检查每个游戏者;"停留";或";半身像;是真的。如果有一个播放器同时为False,则all
函数将返回False。
这里有一个简单的list
,有4个项目或播放器。每个列表项都包含一个dict
,因此您可以像往常一样使用for
循环遍历list
,并通过筛选关键字从dict中获取值。
可能是这样的:
def end_of_game(players):
for player in players:
if player['stayed'] or player['bust']:
return True
return False
学习这一点的一个好方法是使用json's
或仅使用api responses