小朋友学了几首古诗,请编写程序实现检查小朋友是否掌握了诗的作者的功能。 poet={'锄禾':'李绅','九月九日忆山东兄弟':'王维','咏鹅':'骆宾王','秋浦歌':'李白','竹石':'郑燮','石灰吟':'于谦','示儿':'陆游',"静夜思":"李白"}
时间: 2024-10-23 12:11:34 浏览: 67
为了实现这个功能,你可以创建一个简单的Python函数,接受用户输入的一首诗及其内容,然后查找该诗对应的诗人。如果找到了,就认为小朋友掌握了这首诗的作者。下面是这个函数的一个简单实现:
```python
def check_poet_knowledge(poem_content):
poet_dict = {'锄禾': '李绅', '九月九日忆山东兄弟': '王维', '咏鹅': '骆宾王', '秋浦歌': '李白', '竹石': '郑燮', '石灰吟': '于谦', '示儿': '陆游', "静夜思": "李白"}
if poem_content in poet_dict:
return f"小朋友,你已经掌握了'{poem_content}'这首诗,它的作者是{poet_dict[poem_content]}。"
else:
return "小朋友,这首诗的信息不在我们的记录中,需要继续努力学习哦!"
# 示例使用
print(check_poet_knowledge("锄禾日当午")) # 输出:小朋友,你已经掌握了'锄禾日当午'这首诗,它的作者是李绅。
```
相关问题
代码生成 Python,在唐诗.txt文件中每首诗的标题为序号诗人冒号诗名,编写程序,输入诗人姓名,显示该诗人所写的诗的标题,以及作品数。 如果该诗人没有作品,显示无作品。
可以使用以下代码实现:
```python
poet = input("请输入诗人姓名:")
with open("唐诗.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
# 处理每首诗的标题和内容
poem_titles = []
poet_poems = []
for i in range(len(lines)):
if i % 2 == 0: # 标题行
title_info = lines[i].strip().split(":")
if len(title_info) == 2 and title_info[0] == str(i//2+1) and title_info[1].startswith(poet):
# 确认该行为标题,并且诗人姓名匹配
poem_titles.append(title_info[1])
poet_poems.append(lines[i+1])
# 输出作品数和作品标题
if len(poet_poems) > 0:
print(f"该诗人共有{len(poet_poems)}首作品,分别为:")
for title in poem_titles:
print(title)
else:
print("该诗人无作品。")
```
该程序首先读取文件中的所有行,然后遍历每一行,处理每首诗的标题和内容。如果该行为标题行,并且序号和诗人姓名匹配,则将该诗的标题和内容分别存入 `poem_titles` 和 `poet_poems` 列表中。最后根据 `poet_poems` 的长度判断该诗人是否有作品,并输出作品数和作品标题,或者输出无作品。
阅读全文