|
|

楼主 |
发表于 2021-5-29 02:08:19
|
显示全部楼层
2. 为了分析某网站中不同中文词的出现频率,利用现有的工具软件无法满足所有的统计要求,要求自己编写程序来解决。请结合本事例,通过流程图来描述用计算机解决问题的一般过程。( m! u, e9 l+ B6 k* M8 |
例1> 答:
& J" [* L+ _ r" i" c注意:请先安装第三方库 jieba,运行 CMD,输入 python -m pip install jieba --user (其他库安装方法类似) 课外拓展: 用python,统计一个txt中某三个中文词语出现的次数?(福利)1 R+ Y" w# A4 M x$ `. ?
方法一:使用自带的count
! X C* n/ P/ h5 u: L3 N+ O. z. S- words = ["信息", "知识", "智慧"] T0 `- Q% C7 o7 T. l
- def countInFile(filename):! j2 L* H0 Q. ~+ V" R5 y
- with open(filename) as f:9 d9 P; s1 g& l+ o; u3 O; h3 N4 f
- contents = f.read()
5 K, k* `8 v: S3 ~ - return sum(contents.count(x) for x in words)
5 c4 I. x, E8 E& p; \- U4 U - print(countInFile('1.txt'))
3 X+ o i' n( h, W9 J% j) U) x
复制代码 方法二:使用正则表达式- """' c) T9 z0 V; x+ n( t% `/ [
- 《信息技术》(必修一)P67页第2题(分析某网站中不同中文词的出现频率); V5 z* m1 B1 H
- ' y( Z& J# t+ q" v
- Version: Python 3.x- R, R1 Q) Y0 T/ K6 ` C
- Team: 新大榭
7 @1 H% N# I0 {- L' F( S; X - Author: 张黎斌. t4 t* P- v0 D$ | f6 r9 Y
- update: 2021-05-29
5 I z9 S1 N4 i& P7 k# R6 \: N - Level: B# W7 b1 e1 _ b5 C {8 R
8 N6 l5 B0 z* f- """
" u) o1 L( J" y$ M$ H$ l5 U' y8 C
% v4 q8 e [# `& G$ o% |- # 源代码如下,仅供参考!
/ Q1 `8 e$ V/ \- g% ?- ]; A - : `) j' z% C# `
- import re
" |% V2 L. J K& r+ c: ^ - words = "信息|知识|智慧"
% C- M* Y( Z& h, {8 x, Z - def countInFile(filename):8 z3 P. _) ]' c( [2 Z( h( h
- with open(filename) as f:
5 [" e( ~$ j( @3 ~9 w) j - contents = f.read()
l( j( b+ O. o* x. p - return sum(1 for match in re.finditer(words, contents))) a r3 U2 H, n6 s5 ]9 v
- print(countInFile('1.txt'))
9 O* a9 ^$ L9 B
复制代码 |
|