|
|

楼主 |
发表于 2021-5-29 02:08:19
|
显示全部楼层
2. 为了分析某网站中不同中文词的出现频率,利用现有的工具软件无法满足所有的统计要求,要求自己编写程序来解决。请结合本事例,通过流程图来描述用计算机解决问题的一般过程。
7 C1 j; S; P- ?% \: z例1> 答:& Y# B0 C/ `# O# u: O3 _2 D+ j
注意:请先安装第三方库 jieba,运行 CMD,输入 python -m pip install jieba --user (其他库安装方法类似) 课外拓展: 用python,统计一个txt中某三个中文词语出现的次数?(福利); \& a+ s4 T& s+ O1 K- z
方法一:使用自带的count
# m$ w" Q$ ~3 x& e& O- words = ["信息", "知识", "智慧"]
8 w, k/ O2 A c* n+ h - def countInFile(filename):6 H( t! a% T. _' `
- with open(filename) as f:
q2 z! ]) k0 c3 O5 Q+ a - contents = f.read()- c. Y# A% k6 ?4 }# A! A8 e+ D
- return sum(contents.count(x) for x in words)
$ a0 p* O& `$ {6 z - print(countInFile('1.txt'))$ t2 @8 ?% y+ Z# r1 t( F; t1 ~
复制代码 方法二:使用正则表达式- """
0 a9 r' k0 B1 B8 I( C, y8 ]. B! { - 《信息技术》(必修一)P67页第2题(分析某网站中不同中文词的出现频率)
. a3 e3 a! i) v- s$ E
6 ~+ j9 Q: V9 d4 e- Version: Python 3.x
& s) ]( a( }$ _3 r$ n4 M1 u - Team: 新大榭& u4 F8 C0 N, }6 o% ?8 b
- Author: 张黎斌: s4 K6 l" B, P* o. i( c$ W3 b
- update: 2021-05-29) H, S& X8 F7 A( I! ] ]
- Level: B) C5 r( z6 g' S9 l. a
- 5 h0 G" e9 s& L1 s
- """* ]7 N8 l& _6 K# U, A$ z& P
" P: N9 m, M; _" v: z- # 源代码如下,仅供参考!
7 z8 Z' Y5 e5 E# p. v* o7 R
' Q k! D6 F A- import re
2 p2 L3 Z8 Z4 v# h! I - words = "信息|知识|智慧"7 I9 I+ ~7 E* \' ]: C
- def countInFile(filename):
* A( _* {4 S0 [7 s- D" L - with open(filename) as f:+ J% C# g' f. Q9 m
- contents = f.read()
& |+ W; F$ q. B; j6 l. G - return sum(1 for match in re.finditer(words, contents))
5 s' l8 u9 b+ b - print(countInFile('1.txt'))
; \. v3 G! A: x: v9 L
复制代码 |
|