![python二级考试操作题(1)_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/27/577400a0-3590-42db-8ec5-bcf371c19ce8/577400a0-3590-42db-8ec5-bcf371c19ce81.gif)
![python二级考试操作题(1)_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/27/577400a0-3590-42db-8ec5-bcf371c19ce8/577400a0-3590-42db-8ec5-bcf371c19ce82.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档1.101描述参照代码模板完善代码,实现下述功能。输入一个字符串,其中的字 符由(英文)逗号隔开,编程将所有字符连成一个字符串,输出显示 在屏幕上。输入输出示例输入输出示例1123,4,512345习题讲解答案:ls= input(请输入一个字符串,由逗号隔开每个字符:).split(T)(1)prin t(.joi n(ls)(2)要点:1.题目要求输入的字符用逗号隔开,所以,需要用到split(,)来从字符串里提取所输入的字符2.经过split()函数的字符串,返回的是列表3.字符串有个操作函数是str.join(ls),可以把列表里的各个元素,用str的内容连接起来。本题利用了空
2、字符串,来调用这个函数,因此,达到了所想要的效果:将带有逗号的字符串变换成了没有逗号的字符串。精品文档4.有一个不可忽视的地方是join()函数的括号里的参数是列表,如果忘了这一 点,会犯错5.这个功能利用好了,可以拓展,解决其他的问题。2.102描述参照代码模板完善代码,实现下述功能。有一个列表studs如下:studs = sid : 103,Chinese90, Math:95, English:92, sid:101,Chinese将列表studs的数据内容提取出来,放到一个字典scores里,在屏幕上按学号从小到大的顺序显示输出scores的内容。内容示例如下:101:85, 82,
3、 80102:75, 72, 70103:95, 92, 90输入输出示例精品文档80, Math:85, English:82, sid:102,Chinese70, Math:75, English:72精品文档90, Math: 95, English: 92, sid: 101, Chinese80, Math: 85, English: 82, sid: 102, Chinese70, Math:75,English: 72scores = for stud in studs :sv = stud . items ()v=for it in sv :if it 0 =sid:k= i
4、t 1else :v. append (it 1)scores k = v# prin t(scores)so = list (scores . items ()so. sort (key = lambda x : x 0, reverse = False )for l in so :print (:. format (l 0, l 1)输入输出示例1无101:85, 82, 80102:75, 72, 70103:95, 92, 90习题讲解答案:studs = sid : 103, Chinese精品文档studs= sid:103,Chinese:90,Math:95,English:9
5、2,sid:101,Chinese:80,Math:85,English:82,sid:102,Chinese: 70,Math:75,English:72lit=for i in studs:lst=a=i.get(sid)lst.append(i.get(Chinese)lst.append(i.get(Math)lst.append(i.get(English)lst.sort(reverse=True)lat=lat.append(a+:)lat.append(str(lst)lit.append(lat)lit.sort()for i in lit:print(.join(i)要点:
6、1.字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来2.提取出来的元素直接就是字典,因此可以用items()直接获取,形成键值 对对象集合sv;3.对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键值对,sv = stud.items(),是第一个空的答案;4.题目要求提取学生的学号, 所以需要比较键it0是否是sid, 是则将学号it1提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典scores的值v;精品文档5.由于课程是多门,因此新字典scores的值v需要以列表的方式,保存各门课 程的成绩,所以在不是的情况下,新字典scores的值v是利
7、用append(it1) 的方式,追加到列表的后面;6.对v做append操作,必须要事先定义v是一个空列表;因此需要在对每一条 旧字典stud的键值对信息做处理的for it in sv:语句之前,用v=初始化v为一 个空列表;7.经过对一条字典stud的处理, 就形成一对k和v,所以接下来是给新字典scores添加一条键值对,scoresk= v,是第二个空的答案8.经过对全部的studs列表里的各条字典处理完之后,新的scores字典就全部生成。9.题目要求按学号从小到大的顺序输出学号和成绩,所以需要对字典的键值对内容items ()提取到列表so里,此处是第三个空的答案:so = li
8、st(scores.items()10.用Lambda函数进行排序。这个不在考试范围里,所以代码模板直接给出语 句;11.对排好序的列表输出每组列表,这个直接给出语句,不再赘述。3.103描述参照代码模板完善代码,实现下述功能。从键盘输入一个用于填充的图符,一个字符串,一个要显示的字符串 的总长度;编程将输入的字符串,居中输出显示在屏幕上,用填充图 符补齐到输入的总长度。如果总长度处输入的不是正整数,则提示请 输入一个正整数,并重新提示输入,直至输入正整数。输入:请输入填充符号:精品文档请输入要显示的字符串:qq请输入字符串总长度:r请输入一个正整数请输入字符串总长度:3.4请输入一个正整数请
9、输入字符串总长度:4输出:qq输入输出示例输入输出示例1qq4qq习题讲解答案:#请在处填写一行代码#请在处填写多行代码#不要修改已给出代码a = in put ()#请输入填充符号c = in put ()#请输要显示的字符串精品文档flag = 1while flag :try :b = eval (in put ()#请输入字符串总长度except :flag = 1print (请输入一个正整数”)else :if type ( b) = int and b 0:flag= 0else :flag= 1print (请输入一个正整数”)print (0:1人2. format (c,
10、a, b)4.201描述参照代码模板完善代码,实现下述功能,不得修改其它代码。使用turtle库的turtle.fd()函数和turtle.seth()函数绘制螺旋状的正方形,正方形边长从1像素开始,第一条边从0度方向开始,效果如下图所示精品文档自动评阅说明使用字符串形式输出J,中应填代码即可以自动评阅得分例如,如果代码为:#代码模板1 #你的代码import turtle|importturtled = 0| d=0for i inrange (_1_):|for i in range (1)turtle. fd ( _2_)|turtle.fd ( 100)d=_3_|d= (i+ 100
11、) * 100turtle . seth (d)| turtle . seth (d)则在提交代码页面输入:print (1 , 100 , (i + 100) * 100)提交后即可以查看得分注:如果有运算符,请在运算符两侧加上空格 习题讲解答案:import turtle精品文档k = 1for jin range (10):for iin range(4):turtle. fd ( k)d+= 91turtle. seth ( d)k+= 2turtle . done ()要点:1.降低了难度,让填写的都是最简单的5. 202描述参照代码模板完善代码,实现下述功能,可以修改其它代码。附件
12、文 件question.txt中有一道Python选择题,第1行的第1个数据为 题号,后续的4行是4个选项。示例内容如下:3.以下关于字典类型的描述,错误的是:A.字典类型中的数据可以进行分片和合并操作B.字典类型是一种无序的对象集合,通过键来存取C.字典类型可以在原来的变量上增加或缩短D.字典类型可以包含列表和其他数据类型,支持嵌套的字典精品文档读取其中的内容,提取题干和四个选项的内容,利用jieba分词并统 计出现频率最高的3个词,其中要删除以下的常用字和符号 的,:: 可以是和中以下B”作为该题目的主题标签,显示输出在屏幕上。输入输出示例输入输出示例1从文件question.txt中读取
13、所有内容第3题的主题是:类型:5集合:2组合:2习题讲解答案:import jiebafi = open (question.txt,丫)con =num = 0for l in fi :l =l . replace (n,” ). strip (). split (.)# prin t(l)try :ft= eval (l 0)except :passelse精品文档num = ftcon += l 1 print (第题的主题是:.format ( nu m)conls = jieba . Icut (con )diet = for word in conlsdict word = dic
14、t . get (word ,0)+1dictls = list ( dict . items ()dictls . sort (key = lambda x :x 1, reverse = True )k = 0for it in dictls :if it 0 in 的,:可以是和中以下 B:con ti nueelse :if k = 3:breakelse :print (:. format (it 0, it 1)k+= 1fi . close ()要点:1.导入jieba库,使用lcut分词,返回列表conls2.打开文件,读文件,关闭文件3.按行从文件里读,每一行是一个字符串,用
15、strip和split处理成列表,因为 要识别题号,还要提取题目和选项的内容,所以要按照.分隔来提取,分别返回 题号和选项号作为列表I的第0个字段,后面的内容是列表I的第一个字段;精品文档4.为了识别题号,要利用eval,并逆向利用try-except结构捕捉第一个字段是 整数的字段,把题号提取出来放到num里面,把其他的内容都用字符串加法,拼成一个大字符串con5.给出第一句显示:print(第题的主题是:.format(num)6.接下来处理con,提取整个题干的主题词:7.用jieba分词,然后用字典dict来保存没个词出现的次数。一种惯用法是for word in conls:dict
16、word = dict.get(word, 0) + 18.统计出来的词以及词频,需要排序找到最大三个词频,此时需要把字典的键值 对items()提取出来形成列表dictls,并利用列表排序和lambda函数。得到 排好序的dictls9.显示的时候,遍历字典的每个键,要避开那些没有意义的词,题目里给出了剔 除列表,拿过来判断一下,如果是没用的词,就直接跳过,循环下一个,用continue;10.如果是有意义的词,题目要求显示三个最高词频的词,因为中间有跳过的词, 不能直接只循环排序靠前的3个词。要对显示了的词做计数,计够三个,就中 断循环,所以要用break;11.这里用了嵌套的分支结构,在
17、第一个分支里是有意义的词,在第二个分支里是计数不到三个,才做显示输出的语句,显示完了,要把计数器k加一。12.程序最后记着关闭文件6. 301描述老王的血压有些高,医生让家属给老王测血压。老王的女儿记录了一段时间的血压测量值,在文件xueyajilu.txt中,内容示例如下:2018/7/2 6:00,140,82,136,90,692018/7/2 15:28,154,88,155,85,632018/7/3 6:30,131,82,139,74,61精品文档2018/7/316:49,145,84,139,85,732018/7/4 5:03,152,87,131,85,63文件内各部分含
18、义如下:测量时间,左臂高压,左臂低压,右臂高压,右臂低压,心率参照代码模板完善代码,实现下述功能,可以修改给定代码(1)使用字典和列表类型进行数据分析,获取老王的左臂和右臂的血压平均值 左臂和右臂的高压最高值、低压最高值 左臂和右臂的高/低压差平均值心率的平均值给出左臂和右臂血压情况的对比表, 输出到屏幕上,请注意每行三列 对齐。示例如下:对比项左臂右臂高压最大值163155低压最大值9390压差平均值6157高压平均值146140低压平均值3582(2)上述显示的五个项目,如果左臂有大于50%的项目高于右臂,则输出结论:左臂血压偏高”;如果等于50%的项目高于右臂,则精品文档输出结论:左臂血
19、压与右臂血压相当”;如果小于50%的项目高于右臂,则输出 结论:右臂血压偏高”。示例如下:结论:左臂血压偏高,心率的平均值为66(注意:此处为格式示例,实际数据与此不同)输入输出示例输入输出示例1读取文件xueyajilu.txt内容对岀项左臂高压最大值163低压最大值93压差平均值61高压平均值146低压平均值85结论:左臂血压偏咼,心率的平均值习题讲解答案:fi = open (xueyajilu.txt,r)jl = ,# 1:zb_h, zb_l,yb_h,yb_lzyc =yyc =xl =for l in fi :精品文档lls =l . replace (n,” ). strip
20、 (). split (,)for i in range (1,5):精品文档jl i .即 pend (eval (Ils i )zyc. append ( eval (Ils 1) - eval (Ils 2)yyc. append (eval (lls 3) - eval (lls 4)xl . append ( eval (lls 5)fi . close ()ent = len (xl )res =res .append (list(高压最大值”,max(jl 1),max( jl 3)res .append (list(低压最大值”,max(jl 2),max( jl 4)res
21、.append (list(压差平均值”,sum(zye ) / ent , sum( yye ) / ent )res .append (list(高压平均值”,sum(jl 1) /ent , sum( jl 3) / ent )res .append (list(低压平均值”,sum(jl 2) /ent , sum( jl 4) / ent )res .append (list(心率平均值”,sum(xl )/ ent,0)zbg = 0ybg = 0print (:10:10:10. format (对比项”,”左臂”,”右臂)for r in range (len (res ) -1):print (:10:10: res r 2zbg+= 1else :ybg+= 1if zbg ybg :print (结论:左臂血压偏高,end = ) elif zbg = ybg精品文档print (结论:左臂血压与右臂血压相当,end = ) else精品文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度总经理职位聘用与企业战略目标实现合同
- 二零二五年度农家乐景区门票销售代理合同-@-1
- 二零二五年度旅行社旅游纪念品定制合同范本3篇
- 汽车服务合伙人干股分红协议书(2篇)
- 二零二五年度外卖平台配送合作协议
- 2024-2025学年初升高衔接-文言句式(判断句)说课稿
- 二零二五年度影视作品男主角形象代言合同
- 2024年秋九年级化学下册 第六章 金属 6.4 珍惜和保护金属资源说课稿 (新版)粤教版001
- 2024-2025学年新教材高中生物 第1章 遗传因子的发现 素养提升课 自交、自由交配和分离定律特例说课稿 新人教版必修2001
- 16 奖励一下自己 说课稿-2023-2024学年道德与法治二年级下册统编版
- 2025年湖南高速铁路职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 医保政策与健康管理培训计划
- 策略与博弈杜塔中文版
- 无人化农场项目可行性研究报告
- 2024届上海市金山区高三下学期二模英语试题(原卷版)
- 学生春节安全教育
- GA/T 1280-2024银行自助设备安全性规范
- 2024-2025年校长在教研组长和备课组长会议上讲话
- 2025届江苏省常州市高级中学高三第二次模拟考试语文试卷含解析
- 高三日语一轮复习助词「で」的用法课件
- 2024-2030年中国铷铯及其化合物行业深度调研及投资战略分析报告
评论
0/150
提交评论