Python 如何同时检查一个范围内的两个值?
我想用一行代码检查它们。可能吗?否则,我目前拥有的代码是:Python 如何同时检查一个范围内的两个值?,python,range,Python,Range,我想用一行代码检查它们。可能吗?否则,我目前拥有的代码是: while True: player_number = int(input('Determine first player Random(0) or AI(1):')) player_number2 = int(input('Determine second player Random (0) or AI (1):')) if player_number, player_number2 in range(0,2
while True:
player_number = int(input('Determine first player Random(0) or AI(1):'))
player_number2 = int(input('Determine second player Random (0) or AI (1):'))
if player_number, player_number2 in range(0,2): # shows error
break
else:
print ('Out of range. Please choose a player')
我会使用
和:
if player_number in (0, 1) and player_number2 in (0, 1):
您也可以使用集合,但不太清楚:
if {player_number, player_number2} <= {0, 1}:
如果{player\u number,player\u number2}我只会使用和:
if player_number in (0, 1) and player_number2 in (0, 1):
您也可以使用集合,但不太清楚:
if {player_number, player_number2} <= {0, 1}:
如果{player\u number,player\u number2}您可以使用all
语句:
if all(i in range(0, 2) for i in (player_number, player_number2)):
这种方法的好处是它很容易扩展到多个玩家
更好的选择是使用字典并与集合进行比较:
while True:
players = {k: int(input('Determine player {0} Random(0) or AI(1):'.format(k)))\
for k in range(0, 2)}
if set(players.values()) <= {0, 1}:
break
else:
print('Out of range. Please choose a player')
为True时:
players={k:int(输入('determinate player{0}Random(0)或AI(1):')。格式(k)))\
对于范围(0,2)}
如果设置了(players.values()),则可以使用all
语句:
if all(i in range(0, 2) for i in (player_number, player_number2)):
这种方法的好处是它很容易扩展到多个玩家
更好的选择是使用字典并与集合进行比较:
while True:
players = {k: int(input('Determine player {0} Random(0) or AI(1):'.format(k)))\
for k in range(0, 2)}
if set(players.values()) <= {0, 1}:
break
else:
print('Out of range. Please choose a player')
为True时:
players={k:int(输入('determinate player{0}Random(0)或AI(1):')。格式(k)))\
对于范围(0,2)}
如果设置(players.values())