当前位置: 首页 > news >正文

浙江大学pta答案python第七章_Pta mooc“Python编程浙江大学”拼图题集第7章问答,PTAMOOCPython,程序设计,拼题,题目,第七章,及,代码,答案...

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

代码

import sys

s=sys.stdin.read()

strs=s[:s.find('#')]

for k in set([i for i in strs if (not i.isalnum()) and i !='_']):

strs=strs.replace(k,' ')

strs=strs.rstrip(' ').lower().split()

count={}

for i in strs:

i=i[:15]

if i in count:

count[i]+=1

else:

count[i]=1

a=int(len(count)*0.1)

print(len(count))

ans=sorted(count.items(),key=lambda x:(-x[1],x[0]))

for i in range(a):

print(str(ans[i][1])+":"+ans[i][0])

7-2.统计文本文件"letter.txt"中各类字符个数:分别统计字母( 大小写不区分),数字及其他字符的个数。 程序压缩后(zip)以文件形式上传!

代码

with open('example.txt','r') as f:

s=f.readlines()

print(s)

for i in range(len(s)):

s[i]=s[i].replace('\n','')

for j in range(len(s[i])):

if s[i][j].islower():

s[i]=s[i].replace(s[i][j],s[i][j].upper())

elif s[i][j].isupper():

s[i]=s[i].replace(s[i][j],s[i][j].lower())

with open('result.txt','w')as f:

for i in s:

f.write(i)

f.write('\n')

7-2.统计文本文件"letter.txt"中各类字符个数:分别统计字母( 大小写不区分),数字及其他字符的个数。 程序压缩后(zip)以文件形式上传!

count=[0,0,0]

with open('letter.txt','r') as f:

s=f.readlines()

for i in range(len(s)):

s[i]=s[i].lower()

for i in s:

for j in range(len(i)):

if i[j].isalpha():

count[0]+=1

elif i[j].isdigit():

count[1]+=1

else:

count[2]+=1

print(count[0],count[1],count[2])

7-3. 马丁路德金的"I have a dream"节选存放在"freedom.txt"中:

I have a dream that one day this nation will rise up, live up to the true meaning of its creed: “We hold these truths to be self-evident; that all men are created equal.”

I have a dream that one day on the red hills of Georgia the sons of former slaves and the sons of former slave-owners will be able to sit down together at the table of br otherhood.

I have a dream that one day even the state of Mississippi, a state sweltering with th e heat of injustice, sweltering with the heat of oppression, will be transformed into an oasis of freedom and justice.

I have a dream that my four children will one day live in a nation where they will no t be judged by the color if their skin but by the content of their character. I have a dream today.

I have a dream that one day down in Alabama with its governor having his lips drippin g with the words of interposition and nullification, one day right down in Alabama li ttle black boys and black girls will be able to join hands with little white boys and white girls as sisters and brothers.

I have a dream today.

I have a dream that one day every valley shall be exalted, every hill and mountain sh all be made low, the rough places will be made plain, and the crooked places will be made straight, and the glory of the Lord shall be revealed, and all flesh shall see i t together.

编程实现词汇表,计算每一个单词出现的次数,大小写不区分,输出到"dic.txt" 文件保存。

程序压缩后(zip)以文件形式上传!

代码

count={}

with open('freedom.txt','r') as f:

s=f.readlines()

print(s)

for i in range(len(s)):

s[i]=s[i].lower()

s[i]=s[i].replace('\n','')

for i in s:

a=i.split()

for j in range(len(a)):

if a[j] in count:

count[a[j]]+=1

else:

count[a[j]]=1

with open('dic.txt','w')as f:

for i in count:

f.write(i+":"+str(count[i]))

f.write('\n')

相关文章:

  • 从要大褂还是内裤看软件设计与开发过程
  • python高维数据存储_使用python实现多维数据降维操作
  • 代码,梦
  • python求两个时间相差的天数_Python计算两个日期相差天数的方法示例
  • python 序列化压缩成字符串_python 序列化模块之 json 和 pickle
  • 2005年10月--至今,开发过的项目
  • 红黑树的原理_Linux内核-红黑树的实现原理及应用
  • python整型数据源码分析_Python 源码剖析(二)【整数对象】
  • 如何选择适合自己的 Linux 发行版
  • ttc格式安装到手机_水电安装维修学习资料免费赠送
  • 服务器选购前的考虑
  • python bool函数应用_Python如何在bool函数中取值
  • 如何在网上选购一本好书
  • python中numbers什么意思_Python 基础知识全篇-数字(Numbers)
  • 控件Repeater的嵌套使用
  • ----------
  • Google 是如何开发 Web 框架的
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  •  D - 粉碎叛乱F - 其他起义
  • Django 博客开发教程 8 - 博客文章详情页
  • ECMAScript入门(七)--Module语法
  • flutter的key在widget list的作用以及必要性
  • Java深入 - 深入理解Java集合
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • PAT A1120
  • PHP 小技巧
  • python_bomb----数据类型总结
  • Python打包系统简单入门
  • react 代码优化(一) ——事件处理
  • Spring Boot MyBatis配置多种数据库
  • SQLServer插入数据
  • vue--为什么data属性必须是一个函数
  • 大主子表关联的性能优化方法
  • 简析gRPC client 连接管理
  • 看域名解析域名安全对SEO的影响
  • 深度学习中的信息论知识详解
  • 移动端 h5开发相关内容总结(三)
  • 原生 js 实现移动端 Touch 滑动反弹
  • #if和#ifdef区别
  • #Linux(Source Insight安装及工程建立)
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (3)(3.5) 遥测无线电区域条例
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .NET CLR基本术语