二级python操作模拟题5答案_第1页
二级python操作模拟题5答案_第2页
二级python操作模拟题5答案_第3页
二级python操作模拟题5答案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1答案:ls=input().split(1/)print(ls[0].center(evaJ(ls[0])*2+len(ls[0]ls[l]))讲解:.理解input的结果是返回一个字符串.split是字符串的方法,能够以逗号把字符串分割成列表,但列表的元素都是字符串.用ls[0]和ls[1]分别取得输入的数字和后面的符号.题目要求用一行表达式来解决这个问题,所以增加了难度.此时要想起来用字符串的操作方法center,问题就迎刃而解了,这个方法str.center(x,y)会用字符串str构造一个新的字符串,新的字符串长度是x,两边填充y。此处的x是数字,y是字符.要记得Is⑼里的10是一个字符串,所以要记得用eval把它变成数字,乘2,加上10自己的长度,就得到了所需的x;y就是Is⑴里的字符.这道题关键是深入理解,并灵活运用center2答案:studs=[{'sicT:‘103'/Chinese':90},{1sid':‘101'/Chinese':80},{.sicT:‘102,/Chinese':70}]scores={}forstudinstuds:sv=stud.items()foritinsv:ifit[0]==,sid,:k=it[l]else:scores[k]=it[1]#print(scores)so=list(scores.items())so.sort(key=lambdax:x[0]^reverse=False)for1inso:print(1{}:{}'.format(1[0],1[1]))要点:.字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来.提取出来的元素直接就是字典,因此可以用items()直接获取,形成键值对对象集合SV;.对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键值对,sv=stucUtemsO,是第一个空的答案;.题目要求提取学生的学号,所以需要比较键it[0]是否是'sid,是则将学号让[1]提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典scores的值,scores[k]=v,是第二个空的答案.经过对studs列表里的各条字典处理完之后,新的scores字典就全部生成。.题目要求按学号从小到大的顺序输出学号和成绩,所以需要对字典的键值对内容items()提取至I」歹U表so里,此处是第三个空的答案:so=list(scores.items()).用Lambda函数进行排序。这个不在考试范围里,所以代码模板直接给出语句;.对排好序的列表输出每组列表。3importjiebaTempstr=input()Isjieba.Icut(Tempstr)print(ls)4答案:#请在处填写一行代码#请不要修改其他代码r=10dr=50head=90foriinrange(4):turtle.pendown()turtle.circle(r)r+=drturtle.penup()turtle.seth(-head)turtle.fd(dr)turtle.seth(0)turtle.done()要点:.同心圆主要问题是要挪动画笔,用到pendown和penup.用循环来处理重画的个数5flag=1whileflag:try:n=eval(input())xin=input().split(',')yin=input。.split。,')flag=0sum=0foriinrange(n):sum+=int(xin[i])*int(yin[i])print("x和y的内积是:",sum)except:print("请输入整数!")flag=16答案:jl=#l:zb_h,zb_l,yb_h.yb_lzyc=[]yy<==[]xl=[]withopen("xueyajilu.txt'r1^encoding=,UTF-8,)asfi:for1infi.readlines():iflen(l):Ils=1.replace(An1/).strip().split()foriinrange(lJ5):#print(i,jl[i],lls[i])jl[i].append(eval(Ils[i]))zyc.append(eval(Ils[1])-eval(lls[2]))yyc・append(eval(Ils[3])-eval(lls[4]))xl.append(eval(Ils[5]))ent=len(xl)res=[]res.append(list(("高压最大值3]))))res.append(list((低压最大值;max(jl[2]))max(jl[4]))))res.append(list(("压差平均值;sum(zyc)//ent,sum(yyc)//ent)))res.append(list(("高压平均值r\sum(jl[l])//cnt,sum(jl[3])//cnt)))res.append(list(("低压平均值,sum(jl[2])//cnt,sum(jl[4])//cnt)))res.append(list((“心率平均值”,sum(xl)〃cnt,0)))zbg=0ybg=0print。{:<10}{:<10}{:〈10}'.format("对比项二“左臂二“右臂”))forrinrange(len(res)-1):print('{:<10}{:<10}{:<10},.format(res[r][0],res[r][l]^res[r][I1))ifres[r][1]>res[r][2]:zbg+=1else:ybg+=1ifzbg>ybg:print('结论:左臂血压偏高「end='1)elifzbg==ybg:print('结论:左臂血压与右臂血压相当,,end='')else:print('结论:右臂血压偏高「end='1)print(1)心率的平均值为{}'.format(res[5][1]))输出结果:对比项左臂右臂高压最大值168155低压最大值9390压差平均值6260高压平均值147141低压平均值8581结论:左臂血压偏高,心率的平均值为63要点:.这道题的关键问题是把数据按照列的方式来处理.参考答案给出的是一般思路,把文件里读出来的数据分别按列的方式,拷贝到一维列表中去,对一维列表进行各种max,min,sum,len操作.其次,是当列数有些多的时候,程序看起来很冗余,需要做一些优化合并.前四个计算公式类似的,放到一个二维列表里,加个循环结构,就可以把四条语句缩成-条.显示输出要求像表格一样输出,又要比较高效率,就引入了一个二维列表,]把要输出的行头和内容,变成列表,再加到二维列表中去.要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论