代码生成 Python编写程序,输入诗人姓名,显示该诗人所写的诗的标题,以及作品数,如图所示。如果该诗人没有作品,显示无作品。要求能够循环输入诗人姓名进行查找,直到输入空串为止。如果该查询完一位诗人后需要通过f1.seek(0)将文件指针移到文件的开始处
时间: 2024-02-16 16:00:07 浏览: 33
好的,以下是实现该功能的 Python 代码:
```python
def search_poet():
while True:
name = input("请输入诗人姓名:")
if not name:
break
found = False
with open("poems.txt", "r") as f1:
for line in f1:
if name in line:
found = True
title, count = line.strip().split(":")
print(f"诗人:{name} 作品:{title} 作品数:{count}")
break
if not found:
print(f"诗人:{name} 无作品")
f1.seek(0)
```
假设诗人姓名和作品信息存储在文件 `poems.txt` 中,每一行格式为 `诗人姓名:作品标题:作品数`,如下所示:
```
李白:将进酒:10
李白:静夜思:20
杜甫:登高:5
白居易:赋得古原草送别:8
```
在函数中,我们通过读取文件 `poems.txt`,逐行查找是否存在该诗人的作品信息。如果找到了,则解析出作品标题和作品数,并输出结果;如果未找到,则输出无作品的提示。最后,通过 `f1.seek(0)` 将文件指针移到文件的开始处,以便下一次查询。