实现解密函数
在这一步中,你将实现 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
以下是实现解密函数的方法:
- 使用正则表达式模式
r"[,.]",通过 re.split() 函数将 poem 字符串分割成行列表。
- 遍历行列表,对于每一行,通过按空格分割行并取第一个元素来提取首单词。
- 将所有首单词连接在一起以获得解密后的文本。
- 将解密后的文本赋值给
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