Python状态关键词高频统计程序填空
类型:程序题

小李将一个月内某平台上每天的状态关键词(美滋滋、忙、疲惫……)保存在了文本文件"state.txt"中,现在需要编写Python程序,统计一个月内出现次数最多的状态关键词及次数,如果有多个状态关键词并列最多,则输出第一个。

实现思路:

  1. 将文本文件中的状态关键词通过jieba模块进行分词,并保存在列表中; 分词示例结果: ['美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '学习', '学习', '胡思乱想', '忙', '元气', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '胡思乱想', '元气', '裂开', '运动', '忙', '美滋滋', '美滋滋', '发呆', '摸鱼', '回家']
  2. 通过字典统计每个状态关键词的出现次数;
  3. 通过比较,找出出现次数最多的状态关键词。

输出示例:

出现最多的状态是:美滋滋 次数为:8

实现上述功能的Python程序如下,请在划线处填入合适的代码。

"""
import jieba
txt = open("/data/state.txt", "r", encoding="utf-8").read()
words = jieba.   ①  (txt)        # jieba模块分词的结果存放在列表中
"""
words = ['美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '学习', '学习', '胡思乱想', '忙', '元气', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '胡思乱想', '元气', '裂开', '运动', '忙', '美滋滋', '美滋滋', '发呆', '摸鱼', '回家']
maxlen = 1     # 变量maxlen存放最多出现次数
maxd = 0       # 变量maxd存放最多出现次数的状态关键词在列表中的位置
dic = {}       # 字典dic存放每个状态关键词及其出现次数
i = 0
while i < len(words):
    if words[i] not in dic:
          ②
    else:
        dic[words[i]] += 1
        if   ③   :
            maxd = i
            maxlen = dic[words[i]]
    i += 1
print("出现最多的状态是:",   ④   ,"次数为:",maxlen)
代码编辑器
测试用例(F10) 运行测试(F11) 提交答案(F12)
测试用例输入
{{resultStatus.text}}