2015-05-20 7 views
2

Создаю 2-й массив с именем P1Puts [] []. Все, что я хочу делать с ним, отлично работает, пока не придет время для форматирования вывода. Может ли кто-нибудь сказать мне, почему моя попытка отформатировать вывод вызывает ошибку «tuple index out the range»? Я создал приведенный ниже пример из оболочки, используя данные в реальном времени. Обратите внимание, что «Trial 1 of 2» работает нормально, но «Trial 2 of 2» дает ошибку.Почему форматирование приводит к ошибке print()?

#================================================= 
# TRIAL 1 OF 2: 

>>> 
>>> for r in range(9): 
    print('r',r,P1Puts[r][2]) 


r 0 51.73 
r 1 51.8 
r 2 60.46 
r 3 34.62 
r 4 49.69 
r 5 87.93 
r 6 33.37 
r 7 42.59 
r 8 54.6 
>>> 
#================================================= 
# TRIAL 2 OF 2: 
# (Note that all I did below was add formatting 
# to the third argument in print() 

>>> for r in range(9): 
    print('r',r,"{6.2f}".format(P1Puts[r][2])) 


Traceback (most recent call last): 
    File "<pyshell#21>", line 2, in <module> 
    print('r',r,"{6.2f}".format(P1Puts[r][2])) 
IndexError: tuple index out of range 
>>> 
+0

Либо 'P1Puts' имеет меньше, чем' г + 1 'элементов, или 'P1Puts [R]' имеет меньше, чем '3' элементов. – TigerhawkT3

+0

Нет, вы оставили двоеточие из строки форматирования. –

ответ

4

вам не хватает :

for r in range(9): 
    print('r',r,"{:6.2f}".format(P1Puts[r][2])) # : ← missing 
Смежные вопросы