Не понимаю, почему я получаю ошибку индекса

#python

#python

Вопрос:

Не понимаю, почему я получаю ошибку кортежа вне диапазона. Пожалуйста, помогите

 
contactname_1 = input('Enter the 1st contact name:')
contactnum_1 = input('Enter the 1st contact phone number: ')
contactmail_1 = input('Enter the 1st contact email: ')

contactname_2 = input('Enter the 2nd contact name: ')
contactnum_2 = input('Enter the 2nd contact phone number: ')
contactmail_2 = input('Enter the 2nd contact email: ')

Display_align = input('Enter display alignment left/right/center (L/R/C)?')

if (Display_align == 'L'):
  print('{0:<30} {1:<30} {2:<30}'.format('Name'   'Phone'   'Email'))
  print('{0:<30} {1:<30} {2:<30}'.format(contactname_1, contactnum_1, contactmail_1))
  print('{0:<30} {1:<30} {2:<30}'.format(contactname_2, contactnum_2, contactmail_2))

  

Комментарии:

1. Вы имеете в виду format('Name', 'Phone', 'Email') , то есть 3 строки, а не 1.

Ответ №1:

Вы объединяете строки, когда передаете их в качестве аргументов для форматирования.
Вот исправленная версия:

 print('{0:<30} {1:<30} {2:<30}'.format('Name', 'Phone', 'Email'))
  

Ответ №2:

В первом операторе печати вам нужен кортеж из трех в методе format. Добавление ‘Name’, ‘Phone’ и ‘Email’ дает единственную строку. Заменить

 print('{0:<30} {1:<30} {2:<30}'.format('Name'   'Phone'   'Email'))
  

с

 print('{0:<30} {1:<30} {2:<30}'.format('Name', 'Phone','Email'))