Текст слов из набора чисел

Алекс Альтек
# Функция для чтения словаря из файла
def read_dictionary(filename):
    with open(filename, 'r', encoding='utf-8') as file:
        dictionary = file.readlines()
    return dictionary

# Функция для создания текста из набора номеров строк
def create_text(numbers, dictionary):
    text = ''
    for num in numbers:
        index = int(num) - 1 
# вычитаем 1, так как индексы в Python начинаются с 0
        if 0 <= index < len(dictionary):
            text += dictionary[index].strip() + ' '
    return text.strip()

# Основная часть программы
def main():
    # Читаем словарь из файла
    dictionary = read_dictionary('слова.txt')

    # Выводим количество строк в словаре
    print(f"В словаре всего {len(dictionary)} строк")

    # Вводим набор номеров строк через input
    numbers_input = input("Введите номера строк: ").split()

    # Создаем текст из набора номеров строк
    text = create_text(numbers_input, dictionary)

    # Выводим созданный текст
    print("Созданный текст:")
    print(text)

if __name__ == "__main__":
    main()




программа берёт слова из файла и делает из них текст по их числовым кодам

словарь
нужно
писать
слова
правильно
как мы
обычно
это
все
и делаем
словно
новый
порядок
создаём
словарь
из этих
немного
чисел
из слов
всегда
имеем
всё то
что и
должны
знать
я так
немного
что то
если и так
..


  В словаре всего 151 строк

  Введите номера строк:

  10 15 20 23 11 18 97 14 25 64 75 85 46
  12 17 43 77 46 88 81 80 66 60 19 110 100
  99 40 44 25 22 33 16 52

Созданный текст:

словно из этих имеем должны новый из слов быть словарь
я так прямо редко и что просто порядок чисел что в этом
можем просто поиск пусть будет всё так это всем всегда
но видимо узнать мы должны немного это есть я так что
и если есть немного обычно









# Список пар слов
word_pairs = [
    "простое дело", "это можно понять", "я могу", "наверно так",
    "мы можем", "нужно найти", "всё бывает", "как это",
    "могло случиться", "наверно тоже", "думаю что", "и это тоже",
    "буду делать", "начнём писать", "хороший текст", "новое слово",
    "думаю что", "было так", "это не так", "всё просто", "новый алгоритм"
]

# Функция для создания текста из пар слов
def create_text(word_pairs):
    text = " ".join(word_pairs)
    return text

# Генерация текста
generated_text = create_text(word_pairs)
print(generated_text)