代码生成 Python,在唐诗.txt文件中编写程序,输入诗人姓名,显示该诗人所写的诗的标题,以及作品数。 如果该诗人没有作品,显示无作品。
时间: 2023-11-21 20:04:33 浏览: 119
可以使用Python的文件读取和字符串处理功能来实现此功能。以下是一个可能的实现:
```python
# 打开唐诗文件
with open('唐诗.txt', 'r', encoding='utf-8') as f:
# 读取所有行
lines = f.readlines()
# 初始化字典来存储每个诗人的作品数
poet_counts = {}
# 遍历所有行
for line in lines:
# 分割每行,以便获取诗人姓名和诗的标题
parts = line.strip().split(',')
if len(parts) < 2:
continue
poet_name = parts[0]
poem_title = parts[1]
# 更新诗人作品数
if poet_name in poet_counts:
poet_counts[poet_name] += 1
else:
poet_counts[poet_name] = 1
# 输入诗人姓名
poet_name = input('请输入诗人姓名:')
# 检查该诗人是否有作品
if poet_name in poet_counts:
print('%s 共写了 %d 首诗,其中一些作品包括:' % (poet_name, poet_counts[poet_name]))
# 遍历所有行,输出该诗人的作品标题
for line in lines:
parts = line.strip().split(',')
if len(parts) < 2:
continue
if parts[0] == poet_name:
print('- ' + parts[1])
else:
print('该诗人没有作品。')
```
需要注意的是,这个实现假定每行都包含诗人姓名和诗的标题,并且使用“,”作为分隔符。如果唐诗文件的格式不同,需要酌情修改代码。
阅读全文