前言

Hello!小伙伴!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
 
自我介绍 ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,有幸拿过国奖、省奖等,已保研。目前正在学习C++/Linux(真的真的太难了~)
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!

往期题目集

【PTA|Python】浙大版《Python 程序设计》题目集:第一章
【PTA|Python】浙大版《Python 程序设计》题目集:第二章
【PTA|Python】浙大版《Python 程序设计》题目集:第三章
【PTA|Python】浙大版《Python 程序设计》题目集:第四章
【PTA|Python】浙大版《Python 程序设计》题目集:第五章
【PTA|Python】浙大版《Python 程序设计》题目集:第六章

第七章

第7章-1 词频统计 (30 分)

题目

请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词。

所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符。而合法的“单词字符”为大小写字母、数字和下划线,其它字符均认为是单词分隔符。

输入格式:

输入给出一段非空文本,最后以符号#结尾。输入保证存在至少10个不同的单词。

输出格式:

在第一行中输出文本中所有不同单词的个数。注意“单词”不区分英文大小写,例如“PAT”和“pat”被认为是同一个单词。
随后按照词频递减的顺序,按照词频:单词的格式输出词频最大的前10%的单词。若有并列,则按递增字典序输出。

输入样例:

This is a test. The word “this” is the word with the highest frequency. Longlonglonglongword should be cut off, so is considered as the same as longlonglonglonee. But this_8 is different than this, and this, and this…# this line should be ignored.结尾无空行

输出样例:(注意:虽然单词the也出现了4次,但因为我们只要输出前10%(即23个单词中的前2个)单词,而按照字母序,the排第3位,所以不输出。)

23
5:this
4:is

解答

之前忘了做这道题 这次没有做出来 对一些库的函数掌握的还是不好 记不住
代码参考 :https://blog.csdn.net/qq_43733499/article/details/102723092

# 导入库
import re
import collections
import syswords = "".join([line for line in sys.stdin]) # 标准输入sys.stdin读入文本
words = re.compile(r"\w+", re.I).findall(words.lower().split('#')[0]) # 正则表达式将文本处理成全小写并读到符号#
words = [each.strip() for each in words] # 去除空格
words = list(map(lambda each: each[0:15] if len(each) > 15 else each, words)) # 长度超过15的单词将只截取保留前15个单词字符
counter = collections.Counter(words) # 使用Counter统计词频
rank = sorted(counter.items(), key=lambda each: (-each[1], each[0]), reverse=False) # 按照词频递减排序
print(len(rank)) # 输出不同单词的个数
for each in rank[0:int(0.1*len(rank))]: # 输出词频最大的前10%的单词print("{}:{}".format(each[1], each[0]))

结语

文章仅作为学习笔记,记录从0到1的一个过程

希望对您有所帮助,如有错误欢迎小伙伴指正~

我是 海轰ଘ(੭ˊᵕˋ)੭

如果您觉得写得可以的话,请点个赞吧

谢谢支持 ❤️

【PTA|Python】浙大版《Python 程序设计》题目集:第七章相关推荐

  1. 100例C语言经典编程题 | 浙大版C语言题目集第三版,助力你C语言从入门到精通

    获取每道题详细解答请在公众号[C you again]"C语言题目集"栏目查看. 下载pdf版本请在公众号[C you again]回复"c-pdf"自行获取. ...

  2. PTA浙大版python程序设计题目集--第1章-3 输出“Python语言简单易学” (10 分)

    输入格式: 无 输出格式: 输出一句短语,Python语言简单易学. 如果包含汉字,用"print(s.encode("utf-8"))"输出. 如: s=&q ...

  3. PTA浙大版python程序设计题目集--第2章-2 计算分段函数[1] (10 分)

    本题目要求计算下列分段函数f(x)的值: 公式 输入格式: 输入在一行中给出实数x. 输出格式: 在一行中按"f(x) = result"的格式输出,其中x与result都保留一位 ...

  4. PTA浙大版python程序设计题目集--第3章-5 字符转换 (15 分)

    本题要求提取一个字符串中的所有数字字符('0'--'9'),将其转换为一个整数输出. 输入格式: 输入在一行中给出一个不超过80个字符且以回车结束的字符串. 输出格式: 在一行中输出转换后的整数.题目 ...

  5. PTA浙大版python程序设计题目集--第1章-1 从键盘输入两个数,求它们的和并输出 (30 分)

    本题目要求读入2个整数A和B,然后输出它们的和. 输入格式: 在一行中给出一个被加数 在另一行中给出一个加数 输出格式: 在一行中输出和值. 输入样例: 在这里给出一组输入.例如: 18 -48 输出 ...

  6. PTA浙大版python程序设计题目集--第2章-4 特殊a串数列求和 (20 分)

    给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和. 输入格式: 输入在一行中给出不超过9的正整数a和n. 输出格式: 在一行中按照"s = 对应 ...

  7. PTA浙大版python程序设计题目集--第2章-3 阶梯电价 (15 分)

    为了提倡居民节约用电,某省电力公司执行"阶梯电价",安装一户一表的居民用户电价分为两个"阶梯":月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦 ...

  8. PTA浙大版python程序设计题目集--第2章-1 计算 11+12+13+...+m (30 分)

    输入一个正整数m(20<=m<=100),计算 11+12+13+-+m 的值. 输入格式: 在一行输入一个正整数m. 输出格式: 在一行中按照格式"sum = S"输 ...

  9. PTA浙大版python程序设计题目集--第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 (30 分)

    在同一行依次输入三个值a,b,c,用空格分开,输出 bb-4a*c的值 输入格式: 在一行中输入三个数. 输出格式: 在一行中输出公式值. 输入样例: 在这里给出一组输入.例如: 3 4 5 输出样例 ...

  10. 浙大版《Python 程序设计》题目集 4~7章

    写在前面: 有编程基础的同学可以直接刷(不会语法再看文档,若没有那就边看书边刷 浙大版<Python 程序设计>题目集4~7章 题目链接:浙大版<Python 程序设计>题目集 ...

最新文章

  1. .net core在vs开发环境下脱离iis运行
  2. Mac使用nginx+rtmp服务器
  3. UE4_Lighting Scenarios
  4. 怎么用numpy读取excel的数据画三维图_python初学者,如何快速匹配excel任务
  5. 表的插入、更新、删除、合并操作_7_通过视图插入
  6. php中的session机制
  7. html5的api有什么区别,HTML入门--浅谈HTML和HTML5有什么区别?
  8. 计算机操作员可以免考自考吗,计算机《职业资格证书》可以免考高
  9. VS Code 批量操作
  10. drools规则引擎中易混淆语法分析_相互触发导致死循环分析
  11. 网络运维常见交换机故障
  12. QT 基于饼状图的一个抽奖系统
  13. java里的文件显示繁体_java保存繁体网页打开后出现乱码
  14. vue + element插件 首次运行白屏原因分析
  15. ALFA缺陷检测软件外观检测自学习人工智能软件
  16. Java PDF生成方案介绍及问题汇总
  17. JAVA工具类(17)--Java导入导出Excel工具类ExcelUtil
  18. win10聚焦功能失效的解决方法
  19. CSS3 制作旋转的大风车
  20. 如何使用万能的钢笔抠图

热门文章

  1. 【微语】第七周(12.28~2021.01.03)
  2. 为什么C++模板声明与定义要放在同一文件中?
  3. Kali安装fluxion报错:Aborted, xterm test session failed的解决办法
  4. ApacheCN 翻译/校对活动进度公告 2022.5.4
  5. android点击通知栏消失,手机通知栏不见了怎么办
  6. Python——利用AC自动机进行关键词提取
  7. 国家航天局:中国探月工程四期和深空探测工程全面拉开序幕
  8. centos7开机直接进入命令行_Centos7默认开机进入命令行界面
  9. 什么是接口测试及接口测试流程
  10. 荣耀linux电脑开机后黑屏,华为电脑开机屏幕没反应(开机黑屏的3个原因及解决法)...