小明很喜欢听英文歌曲,因为很多歌曲不仅好听而且还能顺便学英语,于是他收集了很多自己喜欢的英文歌词存放在一个文本文件中。有的时候小明想知道某个单词怎么用,于是他希望能够从歌词文件中找到这个单词,你能帮他写个程序实现这个功能吗?要求在文件中找出所有出现该单词的句子及单词出现的位置,并且统计该单词出现的次数。
时间: 2024-02-03 18:14:58 浏览: 128
可以编写一个程序来实现这个功能。具体步骤如下:
1. 打开歌词文件并读取其中的内容。
2. 将文本内容按照句子分隔符(例如句号)拆分成多个句子,并将每个句子转换为单词列表。
3. 遍历每个句子,查找目标单词是否出现在该句子中。如果出现,则记录该句子及单词出现的位置,并统计单词出现的次数。
4. 输出所有出现目标单词的句子及单词出现的位置,并显示单词出现的总次数。
这里提供一个Python示例代码,可以根据具体情况进行修改和调整:
```python
# 定义目标单词
target_word = 'love'
# 打开歌词文件并读取内容
with open('lyrics.txt', 'r') as f:
content = f.read()
# 将文本内容按照句子分隔符拆分成多个句子,并将每个句子转换为单词列表
sentences = content.split('.')
sentences = [s.strip().split() for s in sentences]
# 遍历每个句子,查找目标单词是否出现在该句子中
count = 0
for i, sentence in enumerate(sentences):
for j, word in enumerate(sentence):
if word == target_word:
# 记录该句子及单词出现的位置
print('Sentence {}:'.format(i+1))
print(' '.join(sentence[max(0, j-5):j+6]))
print('Word "{}" found at position {}'.format(target_word, j+1))
print('')
# 统计单词出现的次数
count += 1
# 输出单词出现的总次数
print('The word "{}" appears {} times in the lyrics.'.format(target_word, count))
```
阅读全文