что означает ошибка "IndexError: индекс кортежа вне диапазона" в python? - PullRequest
0 голосов
/ 13 июня 2018

Я пытался очистить свой код вместо того, чтобы использовать кучу операторов if для функций.Вот мой код:

def tic(inpinp, board, qweqwe):
    global lik 
    ink = inpinp - 1
    lik = board.insert(ink, qweqwe)


lis = ['  ', '  ', '  ', '  ', '  ', '  ',  '  ', '  ']

p = input("Player 1, would you like to be X or O?")
inpu = int(input("Where would you like to go?"))






print('{}|{}|{}'.format())
print('--|--|--'.format())
print('{}|{}|{}'.format())
print("--|--|--".format())
print('{}|{}|{}'.format())

1 Ответ

0 голосов
/ 13 июня 2018

Полагаю, вам интересно, почему вы получаете IndexError из приведенного выше кода (поскольку в нем нет явных tuple s или индексации).

'{}|{}|{}'.format() неявноозначает '{0}|{1}|{2}'.format(), где 0, 1 и 2 указывают индексы в позиционных аргументах , передаваемых format.Проблема в том, что вы не передали никаких аргументов, поэтому, когда он индексирует tuple аргументов с 0, он сразу же завершается неудачей, вызывая IndexError.Вам нужно передать столько аргументов, сколько вы указали в качестве заполнителей в строке формата.

...