开始学习python,习题需要统计单词个数和频次。百度找到的代码好像都有问题。自己写了一个,调试通过。

环境:python: 3.9.1 64bit ;  pycharm: 2020.2  电脑 win10  64

测试文章:70篇短文突破中考英语词汇

思路如下:

1. 打开文件,将所有字符读入list:s

2. 使用正则表达式,以非英文字符为间隔符,切片,生成一个以单词为基本元素的list

3.由于原先非字母可能连续,故生成的list可能存在空单词,所以需要去除空串

4.全部转成小写,并排序。

5. 将单词顺次存入dict,如果单词存在,则个数加一,如果不存在,则将此单词存入dict,个数设置为1

6. 输出

代码和注释如下:

import re  #re模块主要功能是通过正则表达式是用来匹配处理字符串
def main(fileName):try:inf= open(fileName,'r')s = inf.read()words =re.split(r'[^a-zA-Z]',s)         #以非英文字符为间隔生成listrealWords0= list(filter(None,words))    #去除空串realWords1 =[]for word in realWords0:realWords1.append(word.lower())     #均转换为小写realWords1.sort()print("word NO: ",len(realWords1))dict1 =dict()for word in realWords1:if(word in dict1): dict1[word] =dict1[word]+1else: dict1[word]=1for item in dict1.items():#print(item)print(item[0],item[1])except IOError:exit("That file couldn't be opened.")return 1main("word.txt")

把从网络上下载的初中阅读贯通词汇粘贴到txt里面,并命名为word.txt,测试发现不能打开,研究发现,需要指定文件编码. 将打开文件的代码加入文件编码信息

inf= open(fileName,'r',encoding='utf-8')

重新运行程序, 系统输出如下:

.......

younger 2
your 50
zarina 1
zebra 2
zoo 5
zoological 1

word NO:  2268

系统显示单词为2268个, 基本和初中单词2200的范围误差不大.

附录: 70篇短文突破中考英语词汇文章样例.

l. A Young Officer and an Old Soldier (1)
A very new, young officer was at a railway station He was going to visit his mother, and he wanted to telephone her to tell her the time of his train. He looked in all his pockets, but found that he did not have the coins for the telephone, so he went outside and looked around for someone to help him.
1.年轻军官与老兵(1)
一位新上任的(new)年轻军官(young officer)在火车站(railway station)候车。他要去看望(visit)他的母亲(mother)。他想打电话(want to telephone sb.)告诉(tell)母亲他的列车(train)到站的时间。但寻遍了所有的口袋(pocket),却发现(find)他没有打电话用的硬币(coin),于是他走到车站外面(outside),环顾四周(look around)想找人帮忙(help)。
1. A Young Officer and an Old Soldier (2)At last an old soldier came by, and the young officer stopped him and said,“Have you got change for ten pence?”
“Wait a moment,”the old soldier answered, beginning to put his hand in his pocket.“I'll see whether I can help you.”
“Don't you know how to speak to an officer?”the young man said angrily.“Now let's start again Have you got change for ten pence?”
“No, sir,”the old soldier answered quickly.
1.年轻军官与老兵(2)
最后(at last)有名老兵(old soldier)路过,年轻的军官拦住他道:“你有十便士(pence)的零钱(change)吗?”
“等会儿(wait a moment)。”老兵回答(answer),开始(begin)把手放(put)进口袋,“让我看看是否(whether)能帮助你。难道你不知道(know)该怎样跟一位长官说话(speak)吗?”年轻人生气地(angrily)说,“现在我们重新开始(start again),你有十美分的硬币吗?”
“没有,长官(sir)。”老兵迅速(quickly)答道。 

python 统计单词个数和频次 和 70篇短文突破中考英语词汇 实用相关推荐

  1. python统计单词个数算法_python 统计单词个数和频次

    开始学习python,习题需要统计单词个数和频次.百度找到的代码好像都有问题.自己写了一个,调试通过. 环境:python: 3.9.1 64bit :  pycharm: 2020.2  电脑 wi ...

  2. python统计单词个数算法_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...

    题目: 用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数. 常规解法 怎么判定单词? 1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符的处 ...

  3. python 统计单词个数---不去重

    需求: 统计一篇完全由英文构成的文章中的单词的个数 分析:需要判断什么是单词,并统计判断为单词的元素的个数 需要: Python 正则表达式 简单例子: import repattern = re.c ...

  4. python 统计单词个数---从文件读取版本---不去重

    #/usr//bin/env pytnon #coding:utf-8import re''' words = 'hello word a@r3143# #### ##$dfabpple# apple ...

  5. python统计句子中单词个数_【python统计单词数量】作文写作问答 - 归教作文网

    如何用python统计一个txt文件中某个单词出现的次数 1.首先,定义一个变量,保存要统计的英文文章. 2.接着,定义两个数组,保存文章中的单词,以及各单词的词频. 3.从文章中分割出所有的单词,保 ...

  6. python输入一个英文句子 输出单词个数_编写程序,给出一个英文句子,统计单词个数。_学小易找答案...

    [简答题]叙述pass语句的作用. [简答题]吹风机不工作,可以用万用表检测吗?在网上搜索关键词,吹风机不工作怎么办? [单选题]以下代码运行结果正确的是哪一项?() x=2 if x:print(T ...

  7. 用python统计字母个数_python统计字母个数 python 统计文本中字母个数

    python 统计文本中字母个数 作业文件等有人回答小编再发,之前发文件被屏蔽了明明转身就有一个温馨的港湾,却偏偏还要去追逐那无望的孤船. l = 0with open('file.txt', 'r' ...

  8. 开发可统计单词个数的Android驱动程序(2)

    开发可统计单词个数的Android驱动程序(1) 五.指定与驱动相关的信息 虽然指定这些信息不是必须的,但一个完整的Linux驱动程序都会指定这些与驱动相关的信息.一般需要为Linux驱动程序指定如下 ...

  9. 统计单词个数(划分型)

    codevs 1040 统计单词个数 2001年NOIP全国联赛提高组  题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该 ...

最新文章

  1. Python五种实用的小技巧
  2. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
  3. 德勤:2025年汽车行业价值链的四个合理情境
  4. 如何访问Wizard控件里的按钮
  5. 基于 Spring Boot 和 Spring Cloud 实现微服务架构
  6. 读书印记 - 《异类:不一样的成功启示录》
  7. srve0255e尚未定义要怎么办_我的可转债中签了,该怎么办?
  8. 再学 GDI+[94]: TGPImage(14) - 增减图像的红、绿、蓝三色的成分
  9. Python 字典或JSON模拟数据库的增删改查
  10. mathtype 转换 matlab,MathType和Mathematica之间如何相互转换
  11. linux df -hl 数据解释,linux磁盘空间查看命令(du,df)剩余空间查看详解
  12. BufferedRead
  13. php表格中的caption,html中caption标签的使用方法及实例详解
  14. Redis的三种启动方式
  15. MySQL死锁产生的原因和解决方法
  16. 申请国家发明专利费用是多少?
  17. Top 150 Questions - 1.4
  18. 人理解迭代,神则体会递归,从电影艺术到Python代码实现神的逆向思维模式
  19. pcs和serdes_对Lattice ECP3/ECP5器件中的SerDes/PCS进行了简要的介绍
  20. vb.net读取写入EXCEl的终极方法-NOPI

热门文章

  1. egg.js 调用阿里云(阿里大于)短信验证码服务
  2. MySQL binlog详解
  3. 网络映射服务器共享盘无反映,网络映射盘连接不上
  4. 用命令多Aphelion进行备份和恢复
  5. 自动驾驶 | 让黑盒子变得清晰可见
  6. Vbox开机自启虚拟机 解决VBoxManage命令行无效
  7. update inner join 使用
  8. Line风控Bug浅谈
  9. SpringSecurity增加额外登录参数
  10. 为什么分辨率越大,图像越小