问题1:(8分)用 jieba 分词,计算字符串 s 中的中文词汇个数,不包括中文标点符号。显示输出分词后的结果,用”/ ”分隔,以及中文词汇个数。示例如下:
输入:
工业互联网”实施的方式是通过通信、控制和计算技术的交叉应用,建造一个信息物理系统,促进物理系统和数字系统的融合。
输出:
工业/ 互联网/实施/ 的/ 方式/是/ 通过/ 通信/控制/ 和/ 计算技术/的/ 交叉/ 应用/建造/ 一个/ 信息/物理/ 系统/ 促进/物理/ 系统/ 和/数字/ 系统/ 的/融合/
中文词语数是:27
问题2:(7分)在问题1的基础上,统计分词后的词汇出现的次数,用字典结构保存。显示输出每个词汇出现的次数,以及出现次数最多的词汇。如果有多个词汇出现次数一样多,都要显示出来。示例如下:
继续输出:
控制: 1
物理: 2
通信: 1
交叉: 1
互联网: 1
和: 2
是: 1
计算技术: 1
一个: 1
的: 3
数字: 1
促进: 1
信息: 1
方式: 1
建造: 1
应用: 1
系统: 3
通过: 1
实施: 1
融合: 1
工业: 1
出现最多的词是(的 系统):3 次
解答:
问题1:
- import jieba
-
- """
- 工业互联网”实施的方式是通过通信、控制和计算技术的交叉应用,
- 建造一个信息物理系统,促进物理系统和数字系统的融合。
- """
- s = input("请输入一个中文字符串,包含逗号和句号:")
- # 标点符号集合
- symbol = [",", "。", "、", "”", "“", ";", ":", "?", "!"]
- newStr = s.replace(' ', '')
- for i in symbol:
- newStr = newStr.replace(i, '')
-
- list = jieba.lcut(newStr)
-
- print("/".join(list))
- print("中文词语数是:{}".format(len(list)))
-
- dic = {}
- for j in list:
- # 判断j是否在字典dic中
- if j in dic.keys():
- dic[j] += 1
- else:
- dic[j] = 1
- for key in dic.keys():
- print("{}:{}".format(key, dic[key]))
-
- valList = sorted(dic.values(), reverse=True)
-
- highWordList = []
- for k in dic.keys():
- if dic[k] == valList[0]:
- highWordList.append(k)
-
- print("出现最多的词是({}):{} 次".
- format(" ".join(highWordList), valList[0]))
输出结果:
- 请输入一段话:工业互联网”实施的方式是通过通信、控制和计算技术的交叉应用, 建造一个信息物理系统,促进物理系统和数字系统的融合。
-
- 工业/互联网/实施/的/方式/是/通过/通信/控制/和/计算技术/的/交叉/应用/建造/一个/信息/物理/系统/促进/物理/系统/和/数字/系统/的/融合
- 中文词语数是:27
- 工业:1
- 互联网:1
- 实施:1
- 的:3
- 方式:1
- 是:1
- 通过:1
- 通信:1
- 控制:1
- 和:2
- 计算技术:1
- 交叉:1
- 应用:1
- 建造:1
- 一个:1
- 信息:1
- 物理:2
- 系统:3
- 促进:1
- 数字:1
- 融合:1
- 出现最多的词是(的 系统):3 次
国内镜像资源网站
清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple
中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple
使用方法
使用pip指令 ,加上-i,后面跟镜像库网址
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba