Как проверить, является ли определенный индекс в списке х? - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь проверить, совпадает ли пользовательский ввод в списке с "X" или "O" в моей игре в крестики-нолики, но я получаю ошибку

TypeError: unsupported operand type(s) for -: 'str' and 'int'

дляэтот код:

  player1 = input("Where do you want to place your X, player 1? (row number, space, number)")
  if(moves[int(player1[0] - 1)][int(player1[2] - 1)] == "X" or moves[int(player1[0] - 1)][int(player1[2] - 1)] == "O" ):
    print("Spot taken try again")
    playerInput()

Я понимаю, что это не самый лучший способ сделать это, поэтому, если у вас есть улучшения, пожалуйста, предложите это!

1 Ответ

0 голосов
/ 07 ноября 2019

Вы должны конвертировать входные данные в int , а затем вычитать 1, но вы пытаетесь вычесть 1 перед преобразованием в int. Кроме того, нет необходимости дважды обращаться к значению. Вы можете сделать это:

spot = moves[int(player1[0]) - 1][int(player1[2]) - 2]

if spot == 'O' or spot == 'X':
    print('Spot taken, try again.')
...