首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在两个Python源文件PY30H.Py和PY301—2.Py,分别对应两个问题,请按照文件内说明修改代码,实现以下功能: 《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第一章的内容由考生文件夹下文件arrogant.
考生文件夹下存在两个Python源文件PY30H.Py和PY301—2.Py,分别对应两个问题,请按照文件内说明修改代码,实现以下功能: 《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第一章的内容由考生文件夹下文件arrogant.
admin
2020-04-10
70
问题
考生文件夹下存在两个Python源文件PY30H.Py和PY301—2.Py,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:
《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第一章的内容由考生文件夹下文件arrogant.txt给出。
问题1:请编写程序,统计该篇文章的英文字符数(不统计换行符),字符与出现次数之间用英文冒号“:”分隔。结果保存在考生文件夹下,命名为“PY301—1.txt”。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的_______处使用一行代码替换
#注意:提示框架代码可以任意修改,以完成程序功能为准
…
d={}
…
ls=list(d.items())
…
fo.write(”{}:{}\n”.format(________,_______))
问题2:在问题1的前提下,将得到的字符次数进行排序,并将排名前10的常用字符保存在”afrogant—sort.txt”文件中。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的______处使用一行代码替换
#注意:提示框架代码可以任意修改,以完成程序功能为准
…
d={}
…
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
…
fo.write(“{}:{}\n”.format(_______,______))
…
选项
答案
(1)fi=open("arrogant.txt","r") fo=open("PY301-1,txt","w") txt = fi.read() d = {} for s in txt; d[s]=d.get(s,0)+1 del d[’\n’] ls=list(d.items()) for i in range (len(ls)); fo.write(”{}:{}\n”.format(ls[i][0],ls[i][1])) fi.close() fo.close() (2)fi=open("arrogant.txt","r") fo=open("arrogant-sort.txt","w") txt=fi.read() d= {} for s in txt; d[s]=d.get(s,0) + 1 del d[’\n’] ls=list(d.items()) ls.sort(key=lambda x:x[1],revere=True) for i in range(10); fo.write(”{}:}}\n”.formal(ls[i][0],ls[i][1])) fi.close() fo.close()
解析
(1)首先使用open()函数打开文件“arrogant.txt”,把文件的内容通过.read()方法保存到变量txt中;然后用for循环遍历txt中的每个英文字符,将该字符作为字典d中的一个键,该键所对应的值置为1,在后面循环中只要遍历的字符与该键相同,就将该键对应的值加1。这样,字典中的键值对对应着英文字符和出现的次数。由于题目要求不统计换行符,因此需要使用del删除换行符对应的键值对。
ls=list(d.items())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。每个元组中的第一个元素ls
[0]表示英文字符,第二个元素ls
[1])表示字符出现的次数。通过for循环遍历按照格式规则将两个对应的元素写入到文件“PY301一1.txt”中。
(2)问题2在问题1的基础上增加了排序,排序的规则是按照字符出现的次数降序排序,因此排序后列表中前10个元素(元组)就是排名前10的字符。通过for循环遍历按照格式规则将这10个元素写入到文件“arrogant—sort.tx”中。
转载请注明原文地址:https://kaotiyun.com/show/4u6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
在数据库表上的字段有效性规则是()。
如果想将项目“工资管理.pjx”连编得到一个应用程序“工资管理系统.app”,则应该执行的命令是()。
在VisualFoxPro中,一条SQL语句可以分多行写。下面说法正确的是()。
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。
假设之前没有定义变量x,那么下面程序代码的输出结果是()。privatex?x
在创建数据库表时,为某个字段定义了有效性规则,这属于数据完整性中的()。
要清除顶层表单中调用的菜单文件,一般在表单的哪个事件中编写程序代码()。
随机试题
腰椎穿刺术采用的体位是()
影响LES压力的因素
复发性口腔溃疡在临床上可分为以下几种
下列哪些情形属于非法经营行为?
加强人力资源能力建设,实施人才培养工程,加强(),队伍建设。
银行通常将()看做对其市场价值最大的威胁。
我国上市公司不得用于支付股利的权益资金有()。
认为教育与教学过程就是要促进学生个性的发展,发挥学生的潜能,培养学生学习的积极性与主,动性,这是()学习理论的观点。
“故宫是明清时的皇宫”是()。
[A]music[B]language[C]hat[D]film[E]bank[F]breakfast[G]teacher
最新回复
(
0
)