Привет! Недавно я столкнулся с интересной задачей⁚ создать страницу, на которой будет отображаться случайное слово из книги ″Война и мир″ Льва Толстого. Я хотел поделиться с вами своим личным опытом решения этой задачи. Первым шагом я создал файл с названием ″war_and_peace.txt″, в котором находится текстовая версия книги ″Война и мир″. Я положил этот файл в ту же папку, что и файл с моим кодом. Далее я использовал модуль random в Python для генерации случайного числа. Это позволило мне выбрать случайное слово из книги. Также мне потребовалось использовать модуль os для работы с путями к файлам. В строке кода BASE_DIR os.path.dirname(os.path.abspath(__file__)) я определил базовый путь к моему файлу, чтобы я мог использовать его для формирования пути к файлу с книгой. Таким образом, я создал переменную BOOK_FILE, которая содержит путь к файлу ″war_and_peace.txt″. Затем я открыл файл с помощью конструкции with open(BOOK_FILE) as book⁚. Так я гарантировал, что файл будет правильно закрыт после его использования.
После открытия файла я прочитал его содержимое с помощью метода read. Затем я использовал регулярное выражение, чтобы разбить текст на отдельные слова.
Чтобы получить список всех слов из текста, я использовал регулярное выражение, которое находит все слова, состоящие только из букв, а именно re.findall(r’\b[а-яА-Я] \b’, text). Это позволило мне получить список слов из текста книги.И, наконец, я использовал модуль random, чтобы выбрать случайное слово из списка. Для этого я использовал функцию random.choice(words), где words ⸺ это список слов из текста.python
import random
import os
import re
BASE_DIR os.path.dirname(os.path.abspath(__file__))
BOOK_FILE os.path.join(BASE_DIR, ‘war_and_peace.txt’)
with open(BOOK_FILE) as book⁚
text book.read
words re.findall(r’\b[а-яА-Я] \b’, text)
random_word random.choice(words)
print(f’Случайное слово из книги ″Война и мир″⁚ {random_word}’)
Этот код помог мне решить задачу и получить случайное слово из книги ″Война и мир″. Теперь я могу использовать этот код для создания страницы, на которой будет отображаться случайное слово при каждом обновлении.
Надеюсь, мой опыт будет полезен для решения вашей задачи!