Введение
В этом проекте вы научитесь расшифровывать скрытое сообщение в акрастическом стихотворении. Акрастические стихотворения - это тип поэзии, где первые буквы каждой строки составляют слово или фразу. Ваша задача - написать функцию на Python, которая может извлекать первые слова каждой строки и объединять их, чтобы раскрыть скрытое сообщение.
👀 Предварительный просмотр
## Пример
$ python3 acrostic_poetry.py
RainItItAnd
🎯 Задачи
В этом проекте вы научитесь:
- Как понять постановку задачи и требования для проекта Дешифровки акрастических стихотворений
- Как реализовать функцию
acrostic_poetry_decryption(poem)для дешифровки сообщения в акрастическом стихотворении - Как протестировать функцию дешифровки на примере входных данных
🏆 Достижения
После завершения этого проекта вы сможете:
- Разбираться и решать задачи, связанные с обработкой текста и извлечением шаблонов
- писать функцию на Python, которая может расшифровывать скрытые сообщения в акрастических стихотворениях
- Тестировать и отлаживать свой код, чтобы убедиться, что он работает правильно
Разобраться с проблемой
В этом шаге вы научитесь понимать постановку задачи и требования для проекта Дешифровки акрастических стихотворений.
Цель этого проекта - написать функцию acrostic_poetry_decryption(poem), которая принимает на вход строку, представляющую содержание стихотворения, и возвращает дешифрованное сообщение, извлекая первые слова каждой строки и объединяя их вместе.
Требования к проекту:
- Кроме библиотеки
reне использовать никакие другие стандартные библиотеки или библиотеки от третьих лиц. - Параметр
poemфункции может быть строкой, которая может быть пустой,Noneили любым другим значением. - Не изменять путь к файлу, имя файла (
acrostic_poetry.py) или имя функции (acrostic_poetry_decryption(poem)). - При отладке кода в онлайн-окружении использовать команду
python3 acrostic_poetry.pyдля вызова Python3.
Реализовать функцию дешифровки
В этом шаге вы реализуете функцию acrostic_poetry_decryption(poem) для дешифровки сообщения в акрастическом стихотворении.
Вот начальный код для файла acrostic_poetry.py:
import re
from typing import Optional
def acrostic_poetry_decryption(poem: str) -> Optional[str]:
"""
Дешифровать сообщение в акрастическом стихотворении, извлекая первые слова каждой строки и соединяя их вместе.
"""
## Если входной контент пуст, вернуть `None`
if not poem:
return None
## TODO: Реализовать логику дешифровки
## 1. Разбить стихотворение на строки с использованием разделителя ',' или '.'
## 2. Извлечь первое слово из каждой строки
## 3. Объединить первые слова вместе, чтобы получить текст дешифровки
## 4. Назначить полученную строку переменной `decryption_text`
return decryption_text
Вот, как можно реализовать функцию дешифровки:
- Разбить строку
poemна список строк с использованием функцииre.split()с регулярным выражением шаблонаr"[,.]". - Пройти по списку строк и для каждой строки извлечь первое слово, разделив строку по пробелам и взяв первый элемент.
- Объединить все первые слова вместе, чтобы получить текст дешифровки.
- Назначить текст дешифровки переменной
decryption_textи вернуть его.
Вот завершенный код:
import re
from typing import Optional
def acrostic_poetry_decryption(poem: str) -> Optional[str]:
"""
Дешифровать сообщение в акрастическом стихотворении, извлекая первые слова каждой строки и соединяя их вместе.
"""
## Если входной контент пуст, вернуть `None`
if not poem:
return None
## Разбить стихотворение на строки с использованием разделителя ',' или '.'
lines = re.split(r"[,.]", poem)
## Извлечь первое слово из каждой строки
words = [line.strip().split(" ")[0] for line in lines]
## Объединить первые слова вместе, чтобы получить текст дешифровки
decryption_text = "".join(words)
return decryption_text
Тестировать функцию дешифровки
В этом шаге вы протестируете функцию acrostic_poetry_decryption(poem) на примере, предоставленном в задании.
- Добавьте следующий код в конец файла
acrostic_poetry.py:
if __name__ == "__main__":
string = "Rain is falling all around, It falls on field and tree. It rains on the umbrella here, And on the ships at sea."
print(acrostic_poetry_decryption(string))
- Сохраните файл и запустите следующую команду в терминале:
python3 acrostic_poetry.py
Вывод должен быть таким:
RainItItAnd
Это подтверждает, что функция acrostic_poetry_decryption(poem) работает как ожидается.
Поздравляем! Вы завершили проект Дешифровка акрастических стихотворений. Если у вас есть вопросы или нужна дополнительная помощь, не стесняйтесь задавать.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



