|
|

楼主 |
发表于 2021-5-29 02:08:19
|
显示全部楼层
2. 为了分析某网站中不同中文词的出现频率,利用现有的工具软件无法满足所有的统计要求,要求自己编写程序来解决。请结合本事例,通过流程图来描述用计算机解决问题的一般过程。& u& C( G! z# [
例1> 答:. ^; M: z( q# A4 a
注意:请先安装第三方库 jieba,运行 CMD,输入 python -m pip install jieba --user (其他库安装方法类似) 课外拓展: 用python,统计一个txt中某三个中文词语出现的次数?(福利)* p+ d- x/ O. k: J
方法一:使用自带的count
/ q! C: Q4 n% J/ o" C3 m- words = ["信息", "知识", "智慧"]& Z' V4 }( n2 \1 q% h7 O
- def countInFile(filename):2 R- C! w6 K h, N. Y1 D
- with open(filename) as f:$ [2 C9 @- k( i1 }0 J. j+ h" r
- contents = f.read()
- U M! X; h" k5 m7 b - return sum(contents.count(x) for x in words)8 J$ w. H, `" Z$ ?9 N8 A/ G! D
- print(countInFile('1.txt'))
3 k3 {2 [; O8 I1 o$ b
复制代码 方法二:使用正则表达式- """
) D7 ]/ b- i* {" V6 M8 [/ x - 《信息技术》(必修一)P67页第2题(分析某网站中不同中文词的出现频率)! x- _9 u! T: }2 |
; a4 Z4 J8 w+ q0 L" N- Version: Python 3.x
* V: b" n0 y. \' y ]4 E w - Team: 新大榭
- X1 x1 k- g" l" ?: }8 M7 p# l - Author: 张黎斌. W' m' E2 \$ @
- update: 2021-05-294 _! D8 Y: a) W2 M
- Level: B# o. X4 P, x9 `# H1 }1 G) O7 V
2 F& Z8 L* L2 n- """
0 F a* ?: W8 T- v( s - z( A0 k( z) @8 ~0 v
- # 源代码如下,仅供参考!, y7 c2 H) O2 a1 O
$ e. V: Q+ U" _1 R4 |) q; C- import re+ H- s5 n5 ?+ |
- words = "信息|知识|智慧"2 C$ p- X! o% Z+ d2 T
- def countInFile(filename):, h9 J8 G- B F* P" H! t( Q. q7 P
- with open(filename) as f:
- V: Q4 b) O& Y5 r1 o( v - contents = f.read()7 P- L: Y2 i' M9 Q4 w
- return sum(1 for match in re.finditer(words, contents))
$ E8 f5 w: ^3 d7 u: w - print(countInFile('1.txt'))
4 _# ^* T" V. D7 z. a/ R
复制代码 |
|