此问题在此处已有答案:
How can I read inputs as numbers?(10个答案)
11小时前关门了。
我现在正在学习Python,并尝试自己做井字游戏。我已经写了这些代码,但我不知道我的逻辑有什么问题。
def player_choice(board): #this function asks for the players next position
i= 0
if full_board_check(board):
print ("All the positions have been filled, the game is over")
while i not in [1,2,3,4,5,6,7,8,9] or board[i]=='X' or board[i]=='Y':
i=input('Please choose a number')
return i
与此相反,这被认为是正确的:
def player_choice(board):
position = 0
while poistion not in [1,2,3,4,5,6,7,8,9] or not space_check(board,position):
position=int(input("Please choose a valid position"))
return position
2条答案
按热度按时间jjjwad0x1#
input返回一个字符串。2在第二段代码中你要转换成整数,所以没问题。
d8tt03nd2#
代码的一部分可能只接受整数作为输入,否则会抛出错误。在第二种情况下,您将字符串输入转换为整数,从而避免了这个问题。您可以通过将两个值都转换为与您正在使用的函数兼容的类型来解决这个问题。