【问题描述】
从下述文件中,分词统计“曹操”出现的次数
【输入形式】
请输入姓名:曹操
【输出形式】
曹操 937
用jieba库进行分词操作即可。
import jieba # 调用jieba库
txt = open(r"sanguo.txt","r", encoding="gbk").read() # 打开txt文件阅读
words = jieba.cut(txt) # 分词
counts = {} # 建立一个空字典
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1 # 遍历每个中文单词,通过字典来计数
#items = list(counts.items()) # 将字典counts转换为列表类型
#items.sort(key=lambda x: x[1], reverse=True) # 对列表进行排序
inp=input('请输入姓名:')
if inp in counts:
print(inp,counts[inp])#输出找到的人名及对应次数
else:
print('书中没有找到。')
文件为网络版用import requests
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
}
url = 'http://xxxxxx/xxxxxxx.txt'
text = requests.get(url, headers = headers).text
print(text)
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
}
url = 'https://www.xxxxxx.com/xxxx/xxxx.txt'
text = requests.get(url, headers = headers).text
s = input("请输入姓名:")
n = text.count(s)
print(s,n)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632