从互联网上下载《红楼梦》的某一回组成文本文件hlm.txt,然后设计一程序统计林黛玉和贾宝玉两个人名在文件中出现的次数。
时间: 2023-06-18 09:05:56 浏览: 283
可以使用Python语言来实现这个程序。
首先,需要读入文件并将其内容存储在一个字符串变量中。可以使用以下代码来实现:
```python
with open('hlm.txt', 'r', encoding='utf-8') as f:
content = f.read()
```
然后,可以使用Python的字符串操作函数来统计林黛玉和贾宝玉两个人名在文件中出现的次数。可以使用以下代码来实现:
```python
lin_count = content.count('林黛玉')
jia_count = content.count('贾宝玉')
print('林黛玉出现次数:', lin_count)
print('贾宝玉出现次数:', jia_count)
```
完整代码如下:
```python
with open('hlm.txt', 'r', encoding='utf-8') as f:
content = f.read()
lin_count = content.count('林黛玉')
jia_count = content.count('贾宝玉')
print('林黛玉出现次数:', lin_count)
print('贾宝玉出现次数:', jia_count)
```
运行程序后,会输出统计结果。
相关问题
统计 HLM.txt 文件中每个汉字出现的次数,并按频次从高到低排序,将统计结果写入一个新文件中。给出Python代码
由于涉及到文件的操作,需要先打开文件,再读取文件中的内容。代码如下:
```python
# 打开文件
with open('HLM.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 统计每个汉字出现的次数
counter = {}
for char in content:
if char in counter:
counter[char] += 1
else:
counter[char] = 1
# 按频次从高到低排序
result = sorted(counter.items(), key=lambda x: x[1], reverse=True)
# 将统计结果写入新文件
with open('result.txt', 'w', encoding='utf-8') as f:
for item in result:
f.write(item[0] + ' : ' + str(item[1]) + '\n')
```
解释一下代码:先打开 HLM.txt 文件并读取其中的内容,然后对每个汉字进行统计。使用一个字典来存储每个汉字出现的次数,如果字典中已经有了某个汉字的统计信息,就将该汉字的统计次数加 1,否则将该汉字的统计次数初始化为 1。统计完成后,使用 sorted() 函数对字典中的统计结果进行排序,按照统计次数从高到低排序。最后将统计结果写入新文件 result.txt 中,每行一个汉字及其出现次数。
定义一个关键词列表,例如“贾宝玉”,“宝玉”,“宝钗”,“黛玉”,“林妹妹”等,统计HLM.txt 文件中任两个关键词共现的行数,并将这些行内容写入到一个新文件
假设HLM.txt文件中包含了《红楼梦》的文本,我们可以使用Python来完成这个任务。代码如下:
```python
keywords = ["贾宝玉", "宝玉", "宝钗", "黛玉", "林妹妹"]
# 统计关键词共现的行数
lines = []
with open("HLM.txt", "r", encoding="utf-8") as f:
for line in f:
if any(keyword in line for keyword in keywords):
lines.append(line)
# 将这些行内容写入到一个新文件
with open("co-occurrence.txt", "w", encoding="utf-8") as f:
f.writelines(lines)
```
解释一下代码:
首先,我们定义了一个关键词列表,其中包含了几个《红楼梦》中的重要人物。
接着,我们打开HLM.txt文件,并逐行读取文件内容。对于每一行,我们使用any函数判断该行是否包含了关键词列表中的任意一个关键词。如果包含了,我们就将该行添加到一个列表中。
最后,我们打开一个新文件co-occurrence.txt,并将上一步中得到的所有行内容写入到该文件中。注意,我们使用了writelines函数,该函数可以将一个字符串列表直接写入到文件中。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)