Задача на декодирование информации из текстового файла

Есть программа: Она создает файл “Список билетов.txt” В файле в каждой строке закодирован билет Вопросы билета заключены в [ квадратных скобках ]

Также есть файл “Текстовый документ.txt” в котором написаны вопросы билетов

Цифра 1 внутри [квадратных скобок ] в файле «Список билетов.txt» говорит о том, что вместо нее должна быть строчка из файла «Текстовый документ.txt»

Задача, написать программу, которая вне зависимости о количества вопросов внутри билета правильно декодирует информацию в формате

Билет № N (N - номер билета) 1. 2. 3.

Вот так выглядит файл “Текстовый документ.txt”

Что такое компьютер? (С точки зрения визуального восприятия)                
Без чего не сможет запуститься компьютер?               
Что такое шина в компьютере?                
Виды сигналов в информатике.                
Назовите устройства ввода и вывода.             
Какие запоминающие устройства Вы знаете?                
Что такое Граф?             
Назовите логические операторы и их условия. (Не менее 3)                
Что такое весовая матрица?              
Какой бывает граф? Назовите его свойства.               
Какие бывают виды систем счисления?             
Назовите несколько систем счисления и их элементы.              
Как перевести число из 10-чной системы счисления в любую другую?                
Как перевести числа из другой системы счисления в 10-чную?              
Как получить отричательное число из 10-чной системы счисления в 2-чной?             
Как получить дробное число из 10-чной системы счисления в 2-чной?                               
Что такое функция? Назовите основые функции ввода и вывода              
Что такое цикл? Назовите основыне циклы языка               
Что такое статическое и динамическое программирование?              
Назовите типы данных. (Не менее 4)              
Как типы данных работают с оператами +, - ,< , >, >=, <=. ==, !=, *.                
Что такое переменная?                           
Какая разница между жетским диском и твердотельным накопителем?             
Как записывается информация на жетский диск?                
В чем разница между оперативной и долговременной памятью?               

А вот так примерно выглядит «Список билетов.txt»

[9, 3, 1, 12, 14, 11, 16, 17]
[10, 3, 8, 13, 22, 25, 20, 24]
[4, 5, 6, 13, 15, 20, 22, 12]
[2, 6, 9, 24, 15, 21, 19, 22]
[4, 5, 7, 12, 22, 24, 16, 18]
[8, 6, 7, 15, 12, 24, 13, 23]
[9, 2, 1, 12, 15, 23, 21, 24]
[7, 1, 4, 23, 24, 20, 11, 12]
[8, 9, 2, 23, 15, 17, 25, 22]
[5, 4, 1, 16, 21, 19, 17, 11]
[5, 1, 2, 22, 15, 11, 25, 18]
[3, 2, 1, 20, 13, 15, 12, 22]
[4, 9, 10, 12, 11, 22, 20, 24]
[2, 9, 8, 11, 13, 25, 19, 12]
[2, 7, 1, 17, 14, 20, 25, 23]
[10, 1, 5, 16, 21, 15, 19, 13]
[3, 6, 10, 19, 21, 22, 20, 23]
[9, 2, 10, 24, 23, 25, 20, 13]
[6, 10, 4, 11, 22, 19, 24, 18]
[8, 9, 1, 21, 20, 12, 17, 22]
[4, 10, 9, 19, 13, 25, 18, 12]
[10, 4, 6, 19, 12, 14, 23, 24]

в вот то, что я пытался сделать

spisok = open('Список билетов.txt','r')
otveti = open('Текстовый документ.txt', 'r', encoding="utf8")```
result = open('ОТВЕТЫ НА БИЛЕТЫ БЕЗ СМС И РЕГИСТРАЦИИ ТУТ!!!!!!','w+', encoding="utf8")

strochki = spisok.read().count('\n')
spisok.seek(0, 0)

for y in range(1, strochki + 1):
    result.write('Билет № ' + str(y) + '\n')

for i in range(strochki):
    stroka = spisok.readlines()[i]
    stroka = stroka.replace('[', '')
    stroka = stroka.replace(',', '')
    stroka = stroka.replace(']', '')
    stroka = stroka.split()
    for x in range(8):
        nomer = stroka[x]
        print(int(nomer) - 1)
        otvet = otveti.readlines()[int(nomer) - 1]
        otvet = otvet.replace('\n', '')
        mesto = result.read().find('Билет № ' + str(i+1))
        result.seek(mesto + 10)
        result.write(str(x+1) + '. ' + otvet + '\n')

Возникает вот такая ошибка, и я не пойму в чем дело, вроде все правильно

Traceback (most recent call last):
  File "d:\Programming\Python\Projects\prekol.py", line 20, in <module>
    otvet = otveti.readlines()[int(nomer) - 1]
            ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
IndexError: list index out of range

Ответы (0 шт):