版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【编程】NCT-Python编程一级-模拟卷4(含答案程序填空阅读填空程序试题一、程序填空1.地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归年。公历的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于2月末(即2月29日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以下是一段用于判断某一年是否是闰年的程序。year=input「请输入您要判断的年份:”)year二int(year)> ①resiilt=(year%4==0② ③)④(year%400==0)ifresu1L:s二堤〃else:s=.不是"print(str((5))+"年"+s+"闰年")请将上面程序框中空格处的内容填写完整,其中①处填写代码注释.程序补充:(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?调用round()函数,保留结果两位小数。money= rate= for print(“5年以后存款总额:",money,“元”)(2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出?money= year= while print(year,“年后资金被全部取出”).阅读程序。分析有关多项式的代码并回答问题。求1!+2!+3!+……+20!的和。n=0s=0t=1
forninrange(1,21):t*=nforninrange(1,21):t*=ns+=tprint(s)range(1,21):>>>-"一’----------------------REST2561327494111820313>»Is+=tprint6n(1="")n的作用是s的作用是。t的初值必须赋值为1,这是因为。t*=n的等价语句是s+=t的等价语句是。4.完善程序。以下是猜数游戏的程序,请在画线出填写正确的内容。■■■I小:-or1-a::UPI.Dticm.rda.-Hr、F;.--n- I.■"i..n:-■irI1;■■■:.■importrandomsecret=random.randint(0,10)print("---猜数游戏-----〃)cs=int(input("你猜的数字是"))whilecs!=secret:cs>secret:("唉,猜大啦!〃)print("嘿嘿,猜小了!〃)cs=int(input("重新猜一个靠谱的数字是:〃))print("游戏结束,不玩了!〃).完善程序。以下是计算S=1+6+11+…+101的程序代码。请你在:1:处填写正确的语句。1071»>1071»>Ik=lwhile(k<101)k=k+5s=s-l-kprint(s+1)s=0k=1while(k<=101)s=0k=1while(k<101):k=k+5s=s+kprint(s+1).调试程序。请阅读以下程序并写出运行结果。FieEdrtFormalRunOptic=====#exl6.py pi=Cl Isuni=0whxlei<10:i%3==Cl:sum-+=iprintCi)i=i+lprint(sswn,ssum)#ex16.pyi=0sum=0whilei<10:ifi%3==0:sum+=iprint(i)i=i+1print('sum',sum).编写程序,找到并输出100以内的素数。.以下是计算s=1+6+11+...+101的程序代码,请补全程序。s=0foriinrange(1,102,):s=print(s)请补充完成上述程序①②.程序分析题学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一个最低分,计算其余4位评委的平均分,作为选手的最终得分。max记录最高分;min记录最低分;s记录六位评委的总分;aver记录最终得分。评— 四制S三二 附SA;["最终得分; 计算霭分第1步:从文本框中分别读入6位评委的打分并依次存入到a(1)至a(6)中第2步:将第1位评委的打分a(1)分别赋给最高分max,最低分min和总分S第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。第4步:从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。max=a[0]min=a[0]s=0foriinrange(6):s=s+a[i]ifa[i]>max:max=a[i]ifa[i]<min:min=a[i]aver=()/4(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由控件生成的。A.EntryB.LabelC.FrameD.Button⑵题目中算法描述采用的是A、自然语言B、伪代码C、流程图D、.N-S图⑶下列程序代码片段对应于算法描述中的第2步至第4步。请填写片段中空白处的表达式填写完整.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。凡百钱,买鸡百只。问鸡翁、母、雏各几何?这个问题就是著名的“百钱买百鸡问题”。即:现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。问公鸡、母鸡和小鸡各几何?(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。forginrange(1,20):formin:forxinrange(3,98,3):ifand==100:print("公鸡:",g,"母鸡:,m,"小鸡:",x).约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。llist=n=int(input(“请输入参与人数:”))foriinrange(0,n-1):llist.append([i,i+1])long=nk=headi=1p=2while():ifi==p-1:t=llist[k][1]print(llist[t][0])#索引为t的删除ift==head:i=1p+=1long=long-1k=llist[k][1]i+=1print(llist[head][0]).计算机解决问题的过程为“分析问题一一设计算法(流程图)一一编写程序一一调试程序”,项目小甑成员在某网购站点上获取到如下信息二卷记本i的单价是3元,老记本2的单价是5元.如果两种笔记本同时购买,价格可以打打折口计算一下,购买芯记本】和笃记本?各F1本,可以优惠多少元?(以元为单位,四舍五人到小数点后两位)请输入以下代码,自己输入数据运行,结果截图提交.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。.请在空格处填写正确的代码,使程序完善。实现功能:用辗转相除法求解两个正整数的最大公约数。x=int(input('请输入第一个正整数:'))y=int(input(请输入第二个正整数:'))m=max(x,y) #找出x,y中的最大值n=min(x,y) #找出x,y中的最小值r=m%n #求得最大值除以最小值后的余数whiler!=0: #如果余数不等0,则进行以下循环m= #把最小值赋给mn= #把余数赋给nr=m%n #求得最大值除以最小值后的余数print('这两个数的最大公约数为:',)input("运行完毕,请按任意键退出....”).(最大公约数)用辗转相除法求两个正整数的最大公约数。代码如下:defgcd(m,n):r=whiler!=0:returna=int(input(‘请输入a的值:’))b=int(input(‘请输入b的值:’))print(‘最大公约数是:'_)填空:.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。.小王编写了“字符串缩写”程序,实现如下功能:.输入一串由英文字母和数字组成的字符串,.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“一”和最后一个字符组成的新字符段,3.例如:字符串为"abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:清输入字符串s:abedfl2345beconiexy缩写后的字符串为:a-dfl-5becomex-y»>请输入字符串s:tibcl23dfpxycba缩写后的字符串为:a-cl-3dfpx-yeba»>实现上述功能的程序如下,请在程序划线处填入合适的代码。s=input("请输入字符串s:")flag=Falseresult=""foriinrange(0,k-1):if:result=result+s[i]+"-"flag=Trueeliford(s[i])!=ord(s[i+1])-1:result=result+s[i]result=result+s[i+1]print("缩写后的字符串为:",result)划线处①处应该填入的语句为:;划线处②处应该填入的语句为:;划线处③处应该填入的语句为:。.完善程序实现如下功能并保存:有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。编写程序,计算出第5个人的年龄并显示。defage(n):ifn==1:c=else:c=age(n-1)-3return print("M5人的年龄:",age())input("运行完毕,请按回车键退出...”).现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?请将下列程序补充完整。tc=1020c=0while:tc=tc-(tc/2+2)print(c).现代生活半径的扩大和生活节奏加快使出行成本不断增长。滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。小C就在思考这个滴滴快车是怎么计费的?可否用所学的Python语言也编写一个计费程序。于是小C开展了有关这个项目活动的探究。根据实际情况,回答问题。(一)收集、分析数据,运用数理思维建模登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:滴滴快车(普通型)计价规则时段起步价里程费时长费普通时段8.00元1.35元/公里0.20元/分钟00:00-06:308.50元2.40元/公里0.50元/分钟06:30-09:008.50元1.50元/公里0.45元/分钟21:00-23:008.50元1.50元/公里0.40元/分钟23:00-00:008.50元2.40元/公里0.50元/分钟注意:.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。小C同学19:33从“南内环恒地大厦停车场一入口”到“坞城新纪元大酒店(长风店)"乘坐滴滴快车(普通车型),里程4.1公里,时长约21分钟,按照表中的计费规则,小C同学此次出行应该支付的车费是:车费=8+(4.1-3.3)X135+(21-9)X0.2=9.68。(1)小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:A.数字化可视化表达工具B.信息加工工具C.三维设计工具D.信息检索工具(2)假设Tot1表示时长费,Tot2表示里程费,S表示实际里程,T表示实际时长,Cost表示应支付费用。运用数学解析式归纳出计费公式为:如果时长超过9分钟,则Tot1=。如果里程小于等于3.3公里则Tot2=,否则Tot2=。应支付费用:Cost=。(二)运用算法描述方法将问题解决步骤化小C明晰了滴滴快车车费的计算方法之后,设计求解滴滴快车普通时段车费的算法,并用自然语言和流程图的方式表述出来。(3)自然语言描述:第一步: 第二步:计算时长费Totl第三步:计算里程费Tot2第四步: 第五步: (4)流程图描述:(如图)流程图中,表示计算与赋值的是,表示算法流向的是。
(5)算法描述中,用到了三种基本控制结构,分别是、和。如图示中的流程图使用的控制结构是和。(选填:顺序结构、选择结构、循环结构、树型结构)(6)一个算法必须有或多个数据输入。有或多个数据输出。(选填:零个/一个)(三)编写、调试、运行程序,验证算法并解决问题.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。于是他决定把这个小功能交给他的好朋友一一你来实现,你想到2种算法,请把下列程序填写完整。AP10P9P8P7P6P5P4P3P2P11166116329438582652714756925BE10E9E8E7E6E5E4E3E2E135116215271309428576772806950Python程序如下:A=[11,66,116,329,438,582,652,714,756,925]B=[35,116,215,271, (5) ,428,576,772,806,950]算法一:myRank=i=0j=0while(i<len(A)andj<len(B)):if(A[i]<B[j]):i+=1else:myRank.append(B[j])j+=1while(i<len(A)):myRank.append(A[i])+=1else:while((7)):myRank.append(B[j])j+=1print(myRank)算法二:myRank=[0]*(len(A)+len(B))i=0j=0k=0while((8) ):k=i+jif(i>=len(A)):myRank[k]=B[j]j+=1elif(j>=len(B)):myRank[k]=A[i]i+=1elif(®):myRank[k]=A[i]i+=1else:myRank[k]=B[j]j+=1print(myRank).小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.defconvert(s):m=0le=len(s)key=s[le-1]ifkey=="B":n=2elifkey=="D":else:n=16i=0whilei<=le-2:c=s[le-1-i]ifc>="0"andc<="9":a=ord(c)-ord("0")elifc>="A"andc<="F":a=ord(c)-ord("A")+10i+=1returnms=input("请输入算式")result=0;suanfu1="";suanfu2="";s1=""foriinrange(len(s)):c=s[i]ifc=="+"orc=="-"orc=="=":suanfu1=suanfu2suanfu2=cifsuanfu1=="":result=tifsuanfu1=="+":result=result+tifsuanfu1=="-":result=result-t
s1=""else:s1=s1+cprint("计算结果为"+str(result)+"D")(1)将程序横线处补充完整(2)如输入“11103+10口-30+”则输出结果为。.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2F>山73XW-8事W*(F1『旧*KCO) I■即M学生媳号学校代码.姓驾物理■化里生物政治历史地理技术1201901000L201901.顾裕弟.1/1」2019010002.201901俞凯*11J201901000120190L陈丹猛1,1.皿12019010004.201901目隗用201卯1Q005E0190iqt^<LL1,“,2019010006,201WL$W„1JJr珈9010007al901,2019mg00201901张问洋.1,112019010009,201901潘丹J2019010010201901首湫典2019010011.20190L««SFm1r1fL2Ol$0lO0l2,201«18BftjtlJr1.L„r20l90l0013L20190Lj£^lLL1^.1图12Q20190133738732790741OT312019024583223172401691"1心42201904118BC0778971437352151?532019055L7颂24923fi174171脚1796BCDEFGHIJ学校代©1总人数1匍81ft学1生制1政治1所史[也理1技术1::B1415IE17U1920111213141580201906201$0720190B201909201910201911201912201$1320191420191520191e201917合计比例10WO1MW0041091423W94*4713276565108a0493920+502619 33I9M0+3703440.4347050+H284421112215&133*J3型S49:J38.411,如537332,21J3;i2'3981F;图2实现上述功能的Python程序如下:importpandasaspdimportitertools#读数据到pandas的DataFrame结构中df=("xk73.csv“,sep=‘.’,header=‘infer’,encoding=‘utf-8’)km=[‘物理’,‘化学’,‘生物’,‘政治’,‘历史’,‘地理’,‘技术’]zrs=lcn(df.index)#按学校分组计数sc=df.groupby(‘′,as_index=False).count()对分组计数结果进行合计,合计结果转换为DF结构并转置为行df_sum=pd.DataFrame(data=sc.sum()).Tdf_sum[‘学校代码’=‘合计’增加“合计”行result=sc.append(df_sum)百分比计算df_percent=df_sumdf_percent['学校代码']='比例'forkinkm:per=df_percent.at[0,k]/zrsdf_percent[k]=per增加“百分比”行result=result.append(df_percent)删除“姓名"列result= 修改“学生编号“为“总人数”result=result.rename(columns={'学生编号":‘总人数"})保存结果,创建Excel文件.生成的Excel文件result.to_excel("学校人数统计.xlsx")(1)请在划线处填入合适的代码:(2)加框处语句的作用是24.阅读程序。分析以下关于字符拼接与转换的Python程序并回答问题。students=['小明','小红','小刚']scores={'小明':95,'小红':90,'小刚':90}print(len(students))print(len(scores))-Ie-tditl-ormatNurrUp-tions\rvmdowstudents=[‘小明"‘小红,」小刚’]scores={,小明95,‘小红‘二叫‘小刚’:9口}print(len(students))print(len(scores))students的数据类型是。scores的数据类型是。在scores中,每个字符与后面的数值共同构成了一个len(students)的返回值是。print(len(scores))的输出结果是。25.阅读程序。分析以下Python程序并回答问题。who='我的'action='是'destination:镜像世界'number='153'code='通行密码’print(who+destination+code+action+str(number))jkm* r -- - ■a, ■■H■一;•■■•一..■■■■■■■IRieEditFormalRunOpliansWindowHelp |action'destmati(m=涛博.世畀,number=,35J'codiB='遨行声码’grint(who+destiriatian+eode+aeti™.+sti'(ruabes))® 3.5.5ShellfileEditShe{l*bugQptionsJflfindow%lpFvthon£&6(v3.6.GifSScDgSSM,Maz282DI&36:O7;41))onvin32Typewcapytight-j*cradits*or*license()*foradibi>» 二二二二二二二二二二二二二二二二二二二二二二RESTAR■最赢世界通行密皆是因(1)变量who的数据类型。(2)类似number的数据类型。print语句输出的结果是。str(number)的作用是。(5)“+”在程序中的作用是。26.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。(1)Python程序设计语言属于程序设计语言中的。A.机器语言B.汇编语言C.高级语言D.翻译程序(2)小C将设计好的算法转为Python程序语言(如下)。其中“Tot2=8”是一个,“#初始化时长费为0”是一个,"S<=3.3”是一个, “float(input(“请输入时长”))”是一个。A.函数B.表达式C.赋值语句D.注释语句Tot1=0#初始化时长费为0Tot2=0#初始化里程费为0S=float(input(“请输入里程数”))T=float(input(“请输入时长”))#输入里程数和时长if(T>9):#计算时长费用Tot1=(T-9)*0.2if(S<=3.3):#算里程费用Tot2-8else:Tot2=8+(S-3.3)*1.35Cost-Totl+tot2print(Cost)#输出总车费(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:NameError Traceback(mostrecentcalllast)<ipython-input-2-fc682f6f4658>in<modu1e>9else:10 >11Cost=Tot1+tot212NameError:name'tot2'isnotdefined(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。小C借助于计算机编写程序解决问题的这个过程是:①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是。(填写序号即可)(5)总结用计算机解决问题的优势主要有: O27.使用Python自身提供的IDLE集成开发环境录入以下代码及调试运行,检测结果。#鸡兔同笼forxinrange(1,23):y=35-xif4*x+2*y==94:print("兔子有%s只,鸡有%s只"%(x,y))特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。.请编写Python程序,实现如下功能需求:1)程序运行后,给出文字提示:“请输入一个正整数:”2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。3)不要超过5行代码。程序运行举例:请检入一个正整数;180153日456075的.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率To请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率n的原理、方法和Python程序。.程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。代码如下:n=int(input("请输入一个十进制数:"))result=[]whilen>0:result.append(①)n=②result.reverse()foriinresult:print(i,end=")(1)程序代码中①处正确的代码是()。A.n%2B.n/2C.n//2D.n*2(2)程序代码中②处可能的代码是()。A.n%2B.n/2C.n//2D.n*2【参考答案】***试卷处理标记,请不要删除一、程序填空.将year转换为整型数据,并赋值给yearAndyear%100!=0oryear【详解】本题主要考查Python程序设计。①input接收的数据类型是字符串型,该语句表示将year转换为整型数据,并赋值给year。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除,故第二、三、四空分别填②And③year%100!=0④or⑤最后输出打印某一年是否是闰年,需要将year转换为字符型。.[0.0325,0.03,0.03,0.02,0.0175]iinrate:(没有冒号算错误)money=round(money*(1+i),2) 1000000money>0或money>=0money=round(money*1.037-20000,2)year=year+1【详解】本题主要考查Python程序语句。①此处是变量money的初始化,有5万元资金存入银行,故填50000。②5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填[0.0325,0.03,0.03,0.02,0.0175]。③通过for循环,从rate数组中取值,故填iinrate:(没有冒号算错误)。④调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。⑤购买了10万元一年期收益率3.7%的银行保证收益型理财产品,故money的初始值为100000,故填100000。⑥year的初始值也为0,故填0。⑦循环条件是money大于0或大于等于0,故填money>0或money>=0。⑧收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。⑨循环变量是year,此处year递增进入下一轮循环,故填year=year+1。.计算每一项的阶乘记录阶乘相加后的和t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。t=t*ns=s+t【详解】本题考查的是python语言编程。本题考查的是1-20阶乘的求和。本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“forninrange(1,21):”的循环体内。.ifprintelse【详解】本题主要考查Python程序的执行与调试。①secret是随机生成的数,sc是你猜的数字,此处是判断cs与secret的大小,故填if。②如果cs大于secret,则输出“唉,猜大啦〃,故填printo③如果cs小于secret,输出“嘿嘿,猜小了!〃,故填else。.s=s+kk=k+5print(s)【详解】本题主要考查Python程序的执行与调试。s=0,k=1,计算S=1+6+11+…+101,循环条件是k<=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。6.0【详解】本题主要考查Python中While循环结构。Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。【点睛】.参考答案1:foriinrange(2,101):j=2whilej<=i:ifi%j==0:breakj+=1ifj<i:continueelse:print(i,end="")参考答:2:foriinrange(2,101):
forjinrange(2,i):if(i%j==0):
breakelse:print(i)【详解】本题考查是Python语言编程解决问题。break语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是while循环还是for循环,只要执行break语句,就会直接结束当前正在执行的循环体。这就好比在操场上跑步,原计划跑10圈,可是当跑到第2圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了break语句提前终止了循环。答案中代码的实现过程见下图:打|巳tanronnairwnuffori打|巳tanronnairwnufforiinranse(2jLOI):j=£urhilei<=i:ifbreakj十二1ifj<i:cantinaeelse;print(i?end=""Python3.6.b:节3・6.5;f59匚0932皿』lai282018,16;U7;45:I[NECv.190032bit1J]cnWin32Type''copyright%'-'ct:eillts,vorrLicense0''forJioreinformation.========EESTART:E:/罗海燕上浮/A罗海燕高中,27.py二二二=二:235711131719232S513T414347535901677L1379S33997:::I参考答案2:接1.py-C:/U£ers/dell/De5ktop/l.py(3.8-5) — □XFileEditFormatRunOptionsWindowHelpforiinrange1D1): (forjinrange11: 隰Fython3.B.5ShellFileEd11ShellDebugFileEd11ShellDebugOptionsWindowHelpF/'.hoti?. 5v:?.5:5:;j£LLC,~A2Z2020,17:c7:Dr4二■,:■!wir;二T?l:cJaolzJ. I'orcor?1iccnso1:,JZ':rnor: I,: /2357111122235711112233444556677788gvz13793917L3739L7L393_y7>.s+i【详解】本题主要考查Python循环结构。题目要求计算1、6、11..101等差数列之和,其中公差为5,因此①为5;s变量用于记录等差数列之和,需进行累加计算,因此②为s+i。【点睛】.AAs-max-min【详解】本题主要考查Python程序的执行与调试。①在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由Entry控件生成的(Entry是Tkinter用来接收字符串等输入的控件,该控件允许用户输入一行文字),故选A选项。②题目中算法描述采用的是伪代码,故选A选项。③从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分,故此处填s-max-min。.range(1,33)g+m+x==1005*g+3*m+xR【详解】本题考查的是算法中的经典问题。百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。21.py-C7UsErs/dell/Desktop/l.py(3.8.5,^FileEditFormatRunOpLionsWindowHelpforsinFangaLI,工:forinInrc.133);forminran5c'3,CS,:E+m+叉==[Hl: h#E+:V*F+::J-:==l竹:):print("公鸡:"「母君:",叫"小雪:工笈)aPython3.8.5ShellFileEditShellDebuqOptionsWindowHelp— ,J IJul202020,15:57:54)Jul202020,15:57:54)[N口二‘nr”Ii-1色nsa0"tiivmrrp1n:zU:3crc/dell/[icnkt3p/l.py [E心]onvrin32'Iypp11A.fl", ")】「中了1口»十”.”「丫4/1t三>»—RESm/J.T:C:鸟鸟鸟
『,■,,.,|「.?.鸟鸟鸟
『,■,,.,|「.?.「工二
444>•4母鸡:8母鸡:12母鸡।、鸡:81、爆8411.llist.append([n-1,0])head=0long>1head=llist[k][1]llist[k][1]=llist[t][1]k=llist[k][1]【详解】本题主要考查Python程序执行与调试。①for循环体是将索引0-n追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。②head是列表头,初始化为0,故填head=0。③最后剩下一个,其余人都将被杀掉,故循环条件是10ng>1,变量long控制元素个数,故填10ng>1。④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]
金4-l.py-C;/Users/huargcaixia/Desktop/4-lrpy⑶7,0)FileEditFormatRunOptronsWindowHtlp|Xint(inputs输入购买靛加本1和颦记:$7密本塞为1))a=3*nb=5*ny=(a+b)*(1-0.8)priM厂购买笔记本1和颦记本2的数量为",小"*print("可节省的壬商为“*“元”)12.12.Python3.7.0FileEditShdlDebugOptionsWindowHelpPython-X7.0(v3.77Q:IbfSccbOSiJun272016^04:扇:5l)[MSC\4)]onWin32Type*copyright","credits"or-license()"formoreinformatic»>================RESTART:C:/Users/huangcaixia/Desktop/4-i.py输入购买的里记本1和望记本2的本数为:30购买笔记本】和笔记本2的敷里为3。本司节誉的全额为46.00元»>1【详解】本题主要考查Python程序的执行与调试。运行结果如下:金4-l,py-C:/Users/huangtaixia/Drsktop/4-l.py(5.7.0)fileEditFormatRunOptions:WindowHelp2立广镉我购i买的第记本i和和记权的本数为:“行一a=34nb=5*ny=(a+b)*(1-0.8)pnntC1的展第i己本1和呈记本2的数重为m*本print,可节雀的金雀为"J*衽飞*一元”)修Python5.7.0Shellfile£ditShellRvbugQption?windowIJelpPython3.7.6忤3.T.dlbf9cc5Q9彳丁un272018,04:59:51)[MXv4)]onwin把Type.copyright", or-licsnss()"foraoe«informrtic>»===============RESTARTtC:/Users/hu3iiEC3iMia/DeEkiop/4-l.py输入购关的笔记本l和笠记本2的本数为"0购买笔记本1相笔记本2的数量为3n本可节省的金额为4fi.0C元>»I.s=input(”请输入要转换的字符)c=len(s)#len求字符串长度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值else:print(chr(ord(s[i])+3))【详解】本题主要考查程序设计。题干要求可通过Python程序条件分支结构实现,具体代码如下:s=input(”请输入要转换的字符)c=len(s)#len求字符串长度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值else:print(chr(ord(s[i])+3)).nrn【详解】本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。由n=min(x,y)可知最小值为n,故①处为n,由r=m%n可知余数为r,故②处为r,最后的除数是n(即最大公约数为n),故③处为n。.m%nrr=m%nngcd(a,b)【详解】本题主要考查Python程序设计。①首先对m和n求余得到r,判断r是否为0,故此处填m%n。②如果r为0则结束,否则更新m的值为n,n的值为r。③此处用更新后的m和n继续求r,继续判断,故填r=m%n。④循环结束后当r=0时,n即为最大公约数,故填n。⑤输入@、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。.price=int(input("请输入消费额(整数):"))ifprice<200:price=price-price*0.1else:price=price-price*0.2print("折扣后的应付金额是:",price)【详解】本题主要考查Python程序的执行与调试。用键盘通过输入函数input输入消费额,并用int函数将其转换为整数类型,通过if条件分支结构,判断如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣,最后用print输出函数输出折扣后的应付金额。.k=len(s)ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+11)andflag==False或ord(s[i])+1==ord(s[i+1])andnotflagflag=False【详解】本题主要考查Python程序的执行与调试。①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+11)andnotflag。③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag=False。.c5【详解】本题主要考查Python程序执行与调试。①第一个人38岁,n标记第几个人,变量c保存年龄,当n=1时,c=38,故第一空填38。②后面的人都比前一个人小3岁,故当n不等于1时,调用递归函数age,c=age(n-1)-3,最后返回第n个人的年龄c,第二空填c。③此处是返回第5个人的年龄,即age(5),填5。.tc>0c=c+1或者c+=1【详解】本题主要考查Python程序执行与调试。①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1或者c+=1。20.DTot1=(T-9)X0.2Tot2=8Tot2=8+(S-3.3)X1.35Cost=Totl+Tot2第一步:输入实际里程S和实际时长T第四步:计算应支付费用Cost第五步:输出应支付费用CostEA顺序结构选择结构循环结构顺序结构选择结构零个一个略【详解】本题主要考查算法及程序设计。①小C登录滴滴出行官网搜索并下载“计价规则〃,所采用的数字化工具:信息检索工具,故选D选项。②如果时长超过9分钟,则Tot1=(T-9)x0.2。③如果里程小于等于3.3公里则Tot2=8。④里程大于3.3公里,则Tot2=8+(S-3.3)X1.35。⑤应支付费用:Cost=Totl+TotZ⑥第一步:输入实际里程S和实际时长T。⑦第四步:计算应支付费用Cost。⑧第五步:输出应支付费用Cost。⑨流程图中,表示计算与赋值的是矩形框,即选项E。⑩表示算法流向的是箭头,即选项A。算法描述中,用到了三种基本控制结构,分别是⑪顺序结构⑫选择结构⑬循环结构。如图示中的流程图使用的控制结构是⑭顺序结构⑮选择结构。⑯一个算法必须有零个或多个数据输入。⑰有一个或多个数据输出。⑱略21.myRank.append(A[i]) j<len(B)k<len(A)+len(B)-1A[i]<B[j]【详解】本题主要考查python编程。根据表格所示,列表B中第5个元素为309,因此①处为309;A[i]<B[j]时,将列表末尾添加A[i],因此②处为myRank.append(A[i]);当列表未结束时,列表末尾添加相应元素,因此③处为j<len(B);算法二中引入变量k,用以记录i与j的和,当k小于len(A)+len(B)-1说明两列表未结束,因此④处为k<len(A)+len(B)-1;若A[i]<B[j],则先将A[i]添加至列表末尾,因此⑤处为A[i]< B[j]。【点睛】22.n=10m=m+(n**(le-2-i))*at=convert(s1)-24D【详解】本题主要考查Python程序的执行与调试。①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。②二进制、十六进制转化为十进制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。③当字符c是“+”、"-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填t=convert(s1)。④1110B转化为十进制数是14D,30H转化为十进制数是48D,故1110B+10D-30H=-24D。.pd.read_csv学校代码result.drop(,姓名’,axis=l)将总人数存储到变量zrs中【详解】本题主要考查Python程序的执行与调试。①将csv文件读入并转化为数据框形式,故填pd.read_csv。②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。③此处删除“姓名”歹U,可以使用drop()函数来删除,故填result.drop(‘姓名’,axis=l)。④zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。.列表字典键值对33【详解】本题考查的是python语言的数据类型,列表和字典。(1)列表是写在方括号口之间,用逗号分隔开的元素列表,students=[‘小明’,‘小红’,‘小刚’]就是列表。(2)字典用{}标识,它是一个无序的“键(key):值(value)”对集合,字典当中的元素是通过键来存取的,而不是通过偏移存取。scores={'小明':95,‘小红':90,‘小刚':90}就是一个字典类型。(3)其中“‘小明':95”就构成了一个键值对。(4)len()方法返回列表元素个数。students=[‘小明’,‘小红’,'小刚'],里面有三个元素,故返回值是3。(5)print(len(scores)),其中scores={'小明':95,'小红’:90,‘小刚':90}该字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论