首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在两个Python源文件“PY30H.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第1章的内容由考生文件夹下文件“arrogant
考生文件夹下存在两个Python源文件“PY30H.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第1章的内容由考生文件夹下文件“arrogant
admin
2021-03-16
49
问题
考生文件夹下存在两个Python源文件“PY30H.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。
《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第1章的内容由考生文件夹下文件“arrogant.txt”给出。
问题1:请编写程序,统计该篇文章的英文字符数(不统计换行符),字符与出现次数之间用冒号(:)分隔。结果保存在考生文件夹下,命名为“PY301-1.txt”。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
d={}
…
ls=1ist(d.items())
…
fo.write("{}:{}\n".format(________,________))
…
问题2:在问题1的前提下。将得到的字符次数进行降序排列,并将排名前10的常用字符保存在“arrogantsort.txt”文件中。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
d={}
…
ls=1ist(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],reverse=True) for i in range(10): fo.write("{}:{}\n".format(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.txt”中。
转载请注明原文地址:https://kaotiyun.com/show/IS6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
下面关于运行应用程序的说法正确的是()。
下面有关数据库表和自由表的叙述中,错误的是()。
下面程序的运行结果是()。SETEXACTONs="ni"+SPACE(2)IFs=="ni"IFs="ni"?"one"ELSE?"two"ENDIFELSEIFs="ni"?"three"ELSE?"fo
数据库管理系统是()。
设有学生(学号,姓名,性别,出生日期)和选课(学号,课程号,成绩)两个关系,并假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“101”课程的平均成绩,正确的SQL语句是()。
计算机的应用领域大致可分为8个方面,下列选项中都属于这几项的是
如果name=’’全国计算机等级考试二级Python’’,以下选项中输出错误的是
关于Python文件打开模式的描述,以下选项中错误的是
以下选项中使Python脚本程序转变为可执行程序的第三方库的是
随机试题
哪些病人应做口腔护理
女性,20岁,贫血2年,平时月经量较多,自感乏力,活动后心慌气短,血常规:血红蛋白75g/L,红细胞3×1012/L,网织红细胞0.008,用硫酸亚铁治疗1周后,自觉症状有所改善,血红蛋白无变化,网织红细胞0.036。患者可能的诊断为
参与动脉粥样硬化的发生、发展和病变恶化全过程的代谢紊乱是
中国甲公司与德国乙公司签订了出口某商品的合同,合同约定数量为250公吨,单价为每公吨78英镑CFR不来梅,品质规格为水份最高15%,杂质不超过3%,交货品质以中国商品检验局品质检验为最后依据。成交后,乙公司又要求甲公司提供货物样品,甲公司寄送了样品,但声明
有色络合物的摩尔吸光系数(ε)与下述各因素有关的是()。
下列不属于同定式防火分隔设施的是()。
2010年2月1日,A公司按照合同约定向B公司交付价值100万元的货物,B公司于2010年2月10日A公司签发了一张见票后1个月内付款、金额为100万元的银行承兑汇票。2010年2月25日,A公司向C银行提示承兑并于当日获得承兑。2010年3月10日,A公
Inwriting,whichstepisusedtogetstudentstothinkfreelyandputdownallpossibleideasrelatedtothetopicthatcometo
工厂安排住宿,若有6个房间每问住4人,其余房间每间住5人,还剩3人;若有4个房间每间住5人,其余房间每间住4人,正好住下。该工厂有多少人?()
FirsttherewasaWashingtonPostarticlepublishedshortlyaftertheelectionsonthepresumptivenewHousespeaker,"MutedTon
最新回复
(
0
)