NCT等级测试-Python编程三级真题测试卷3精品程序填空阅读填空程序试题_第1页
NCT等级测试-Python编程三级真题测试卷3精品程序填空阅读填空程序试题_第2页
NCT等级测试-Python编程三级真题测试卷3精品程序填空阅读填空程序试题_第3页
NCT等级测试-Python编程三级真题测试卷3精品程序填空阅读填空程序试题_第4页
NCT等级测试-Python编程三级真题测试卷3精品程序填空阅读填空程序试题_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、NC邙级测试-Python编程三级真题测试卷3精品程序填空阅读填空程序试题 一、程序填空 1 .(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来 解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问 题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法, 分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况 下,规模N=1时,问题的解是已知的。已知:从1至ijn的连续自然数相乘的积、叫做阶 乘、用符号n!表示。如5!=1X2X3X4X5规定0!=1。我们用递归算法可以较容易求n的 阶乘。求n的

2、阶乘算法可以描述如下: n!=n*(n-1)!(n-1)!=(n-1)*(n-2)!(n-2)!=(n-2)*(n-3)! 2!=2*1!1!=0!0!=1 如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成 如下形式: f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f(2)f(2)=2*f(1)f(1)=1 (问题求解)在python中用递归算法求1!+2!+n!(n的值为整数,从键盘输 入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。 deff(n): ifn=0: return1 else: retu

3、rn s=0 n=int(input(请输入n:) foriin: s= print(s) 2 .程序编写 求1+22+32+1002的结果 input(“运行完毕,请按回车键退出”) 3 .阅读程序。分析有关多项式的代码并回答问题。 求1!+2!+3!+20!的和。 n=0 s=0 t=1 forninrange(1,21) t*=ns+=t print(s) s+=t prinl(sfend:) (1) n的作用是。 (2) s的作用是。 (3) t的初值必须赋值为1,这是因为 (4) t*=n的等价语句是 (5) s+=t的等价语句是。 4 .调试程序。请阅读以下程序并写出运行结果。 F

4、ileEditFormrtRun= i=0i=0 whilei10: -fi%3=0;EUJH-1printCL)1=1+1printwri,,35) #ex16.py i=0 sum=0 whileil ift=head: i=1 p+=1 long=long-1k=llistk1 i+=1 print(llisthead0) 7 .计算机解决问题的过程为“分析问题一一设计算法(流程图)一一编写程序一一调试程序”, 1 03 项目小组成员在某网的站点上获取到如下信息:笔记本项目小组成员在某网的站点上获取到如下信息:笔记本 1 的单价是的单价是 3 元元. .苣记本苣记本 2 的单价是的单价是

5、 5 元元. .如果两如果两种楚记本同时购买,价格可次打种楚记本同时购买,价格可次打 X 折计折计 T 一下,峋买笔记本一下,峋买笔记本 1 和笔记本和笔记本 2 各各H本本, ,可送优惠多少元?(以元为可送优惠多少元?(以元为单拉,单拉,0 舍五人到小数点后两位)舍五人到小数点后两位) 请输入以下代码,自己输入数据运行,结果截图提交 ICE*D /*人曲值/ 工 .争* 第./ C)q41,py=Ci/Uscrt/huArlgCJixid/DesktOp/J-l.py7Q) FileEditFormatRunOptionsWindowHelp rint(input(“输.购买的堂记本:二:.

6、:/:)a=3*n b=5*n y=(a+b)(1-0.8) 港记本 1 和室记本 2 的林里为 nJ 本火) print可节货的金的为二 F.2U元3 8 .编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至 3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用 range(#begin,#end) 9 .输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 10 .求水仙花数(一个三位数,其各位数字立方和等于该数字本身) 11 .地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归 年。公历

7、的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于 2月末(即2月29日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是 否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以 下是一段用于判断某一年是否是闰年的程序。 year=i阴请输入您要判断的年份: year=int(year)# result-(year%4=0)(year%400=0)ifresuIt: *=不是” print(str()+*年*+s+*国年*) 请将上面程序框中空格处的内容填写完整,其中处填写代码注释 12 .完善程序实现以下功能并保存。 输入一

8、元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(aW0) 请输入方程系数白请输入方程系数白/ /巾巾5清输入方程系数清输入方程系数b:-3定输入方程系数定输入方程系数16 方程有两不亦同的解方程有两不亦同的解3.02.0 玲蛙生两拉回隼缠退出玲蛙生两拉回隼缠退出 #请不要更改源程序的结构,删除原题里的、。填写正确的代码,使程序完善importmath a=float(input(请输入方程系数a(!=0):) b=float(input(请输入方程系数b:) c=float(input(请输入方程系数c:) delta=b*b-4*a*c ifdelta: x1=(-b+

9、math.sqrt(delta)/(2*a) x2=(-b-math.sqrt(delta)/(2*a) print(方程有两个不同的解,x1,x2) elifdelta=0: x1= print(方程有两个相同的解,x1) else: print(方程无解) input(运行完毕,请按回车键退出.) 13 .完善程序实现如下功能并保存: 有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁; 第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38 岁。编写程序,计算出第5个人的年龄并显示。 defage(n): ifn=1:c= else:c

10、=age(n-1)-3 return print(第5人的年龄:,age() input(运行完毕,请按回车键退出.) 14 .请在空格处填写正确的代码,使程序完善。 实现功能:用辗转相除法求解两个正整数的最大公约数。 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=清巴最小值赋给m n=班巴余数赋给n r=m%n标得最大值除以最小值后的余数 print(这两个数的最

11、大公约数为:,) input(运行完毕,请按任意键退出.”) 15 .已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的 地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:3.14,请根据下列 代码回答问题: r=int(input(请输入半径r:) h=int(input(请输入高h:)c=2*pi*rs=pi*r*2S=c*h V=s*h print(c,s,S,V) 解决问题的程序用到的控制结构有:(填:顺序结构、分支结构、 (2)请将程序补充完整。 (3)请找出程序中的错误代码,并改正。 16 .编写程序。如图所示的算法,请用Python程序写

12、出实现该算法相应的代码。 17 .学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为探秘水仙 花数。 (1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的:“水仙花数”是指一个 三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33,那么这个数就是一个 “水仙花数”。百度属于_搜索引擎(全文,分类) (2)为了求解100-999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设 计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图: 运行结果; 3!=999 a=k/100二寸正;a为k的百位b=k/iO%lO烂 x 注;b为

13、k的十位 kUORJ注:灯为k的外心 piinitk/代仙.双)心 =RESTART山水仙花数2y= 153是水仙花数. 37C居水仙花数 371是水仙花数& 407是水仙花数. k是可以重新赋值的,k是变量还是常量?程序中处有空缺,请补充完整处的代码。程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做(解析法,枚举法,递归法,二分法)。 (3)在研究成果展示环节,张轩小组可以使用什么软件制作探秘水仙花数的研究成 果报告?() 18.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发

14、生的热门事件。但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行 合并,形成自己的热点排行榜。 为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。于是他决定把这个小功能交给他的好朋友一一你来实现,你想到2种算法,请把下列程序填写完整。 A P10 P9 P8 P7 P6 P5 P4 P3 P2

15、P1 11 66 116 329 438 582 652 714 756 925 B E10 E9 E8 E7 E6 E5 E4 E3 E2 E1 35 116 215 271 309 428 576 772 806 950 Python程序如下: A=11,66,116,329,438,582,652,714,756,925 B=35,116,215,271,(5),428,576,772,806,950 算法一: myRank= i=0 j=0 while(ilen(A)andjlen(B): if(AiBj): * i+=1 else: myRank.append(Bj) j+=1 wh

16、ile(i=len(A):myRankk=Bjj+=1 elif(j=len(B):myRankk=Aii+=1 elif(9): myRankk=Aii+=1 else: myRankk=Bj j+=1print(myRank)19.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示: 实现上述功能的程序如下,请在划线处填入合适的代码。 importmath defisprime(x): foriinrange(2,int(math.sqrt(x)+1): ifx%i=0:

17、f=False returnf n=int(input(请输入一个正整数n:) c=0 k=3 whilek=n-2: ifisprime(k)and: c+=1 print(第+str(c)+对双胞胎数:,k,和,k+2)print(共有+str(c)+对双胞胎数) 划线处处应该填入的语句为:; 划线处处应该填入的语句为:; 划线处处应该填入的语句为:。 20.某企业开展“运动打卡动动有奖”活动:若员工在本月累计运动时间30小时以下, 奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员

18、工本月累计运动时间(时),输出其能获得的奖励金额。 (1)实现上述功能的程序如下,请在划线处填入合适的代码。 t=int(input(“请输入您本月累计运动时间(时):“) ift0: print(“输入错误”) else: ift 5 1.1 17 29 11 59 和和和和和和和和 1313 34673467 eliftm(o)w(v)如Hj 学生身号.学校代码.姓名衡理化发生粗政治历史.厘技术 2019010001,201 2019010002.20190L 晌 IM.1J 不 20190)00031901 席丹*1/1 20190100M.201901.邹谕殂 JJ.1” 201901

19、0005,201901/佳L1.1”“ 2019010006.201 第 1 导鸿 2019010007.201WLSe*LKLL. 2019010006,201901 兼向洋 J/1 20lWl0009,20IW1.Rn.JLJ 20190100162015)L 李漱里,I.LL“. 2019010011,201 2019010012.201Wttt.t1J_ lansoiottHmTHUtHII1 图1 图2 实现上述功能的Python程序如下: importpandasaspd importitertools #读数据到pandas的DataFrame结构中 df=(xk73.csv,s

20、ep=.,header=infer,encoding=utfkm=物理,化学,生物,政治,历史,地理,技术 20190120190120102 201904201904 201905220190520 0重的 201907201907 201908201908 201909201909 201910201910 201911201911 201912201912 201913201913 201914201914 2O1S13 的 3 9 学校代码!SA物理I心I生I人I【Ml【1ft术 477 4M4M zrslen(dfindex) # 按学校分组计数 sc=df.groupby(,as_

21、index=False).count() # 对分组计数结果进行合计,合计结果转换为DF结构并转置为行 df_sum=pd.DataFrame(data=sc.sum().T df_sum学校代码=合计 # 增加合计”行 result=sc.append(df_sum) # 百分比计算 df_percent=df_sum df_percent学校代码=比例 forkinkm: per=df_percent.at0,k/zrs df_percentk=per # 增加u百分比“行 result=result.append(df_percent) # 删除u姓名u列 result= # 修改“学生

22、编号为总人数 result=result.rename(columns=学生编号:总人数) # 保存结果创建Excel文件.生成的Excel文件 result.to_excel(学校人数统计.xlsx) (1)请在划线处填入合适的代码: (2)加框处语句的作用是 22.阅读程序。分析以下关于字符拼接与转换的Python程序并回答问题。 students=小明,小红,小刚 scores=小明:95,小红:90,小刚小0print(len(students)print(len(scores) F F- -ileile- -tentKjrmatKunuptiontentKjrmatKunuption

23、- -swindowswindow studeEf 二二小明,小明, 小红小红 小刚小刚score=小小日用二日用二 05.,小红,小红“:9 口口/ /小刚小刚:90)printuderrt3J) print(len(scores) (1) students的数据类型是 (2) scores的数据类型是。 (3)在scores中,每个字符与后面的数值共同构成了一个。 (4) len(students)的返回值是。 (5) print(len(scores)的输出结果是。 23 .水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如: 1*3+5*3+3*3=153。这类三

24、位数也被叫做自恋数、自哥数或者阿姆斯特朗数。 问题求解设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程 序,在空白处填写适当的表达式或语句,使程序完整。 print(三位数之内的水仙花是:) forxin(100,1000):b=x/100 s=(x/10) g=一 Ifx=(b*3+s*3+g*3):print() 24 .(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它 本身,例如:1*3+5*3+3*3=153。这类三位数也被叫做自恋数、自哥数或者阿姆斯特

25、朗数。 (问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的 数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下 python程序,在空白处填写适当的表达式或语句,使程序完整。print(三位数之内的水仙花是:) forxin: b=x/100 s= g= ifx=(b*3+s*3+g*3): 25 .设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。 (1) Python程序设计语言属于程序设计语言中的。 A.机器语言B.汇编语言C.高级语言D.翻译程序 (2)小C将设计好的算法转为Python程序语言(如下)。其中

26、“Tot2=8”是一个 ,“#初始化时长费为0”是一个,S9):#算时长费用 6 Tot1=(T-9)*0.2 7 if(S=3.3):#算里程费用 8 Tot2-8 9 else: 10 Tot2=8+(S-3.3)*1.35 11 Cost-Totl+tot2 12 print(Cost)#输出总车费 (3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是: NameErrorTracebackmostrecentcalllast) in9else:10-11Cost=Tot1+tot212 NameError:nametot2isnotdefined

27、(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。小C借助于 计算机编写程序解决问题的这个过程是:设计算法编写程序分析问题调试运行程序,合理的顺序是。(填写序号即可) (5)总结用计算机解决问题的优势主要有: O 26.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所 示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。 请根据流程图的每个步骤,填写程序段编号,

28、如A:B:D:。现填写C、EF、G 对应的程序段编号.C:E:F:G: 图a 79O2953/54 展设系善强进家持全法发建体完加推国坚健经 立外旧碟花式苴后作阴到H】 1.完善科技创新体制机制 局发思全区深 k 受缶覆王SK也国经哥代为向合、lEi生KJJ 找日不在立加 -时曼. 马同期*:-.!斗.r- 坚把世客1 卷,聂士9发 2.加姓数字化与展 毛国,后r强忆点菱一书再高体者、,一-1_产胃洋亚代B适产专,存律,13口二1力;小处正子事!?敢 梯 C C闻”心 tx仁openrssw.txtVrncodiutf-8)*read。 word5=jieba.lcut(txt)& c

29、ounts= foriinrarige(LO): wd,count=itemsi printftOlOHlS.formatfwd.count) forwdinwords:图弓 ifwdincounts:g *(5, countfiwd+=l elso: counts(wd=l items=list(counti.items()item.sort(key=lambdax:xl, reverse=True) importjieba 27.编写Python程序实现如下功能:输入年月日,输入格式如“2021-06-21,年月日之 间用“-”分隔。判断这一天是这一年的第几天。以2021-06-21为例,

30、前面5个月总天数,加上21天即这一天是本年的第几天。特殊情况,当输入的年份是闰年时,2月份有 29天。闰年的判断方式如下: I、能被4整除,但不能被100整除; II、能被400整除; (1) “2020-05-20”这一天是这一年的第天。 (2)编写Python代码如下,在划线处填入正确的代码 (3)加框处的代码有误,请改正。 改正: mon=31,28,31,30,31,30,31,31,30,31,30,31#mon中存储1-12每个月的天数 s=input(请输入年月日:) month=int(s5:7) 3sum=0 foriinrange(): sum+=moni sum+=day

31、 ifyewIF)廊口: isleap=Trueelse: isleap=Falseifsum+=1print(这一天是当年的第+str(sum)+“天”) 28.使用Python自身提供的IDLE集成开发环境录入以下代码及调试运行,检测结果。 #鸡兔同笼 forxinrange(1,23): y=35-x if4*x+2*y=94: print(兔子有%s只,鸡有s只%(x,y) 特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。 29 .请编写Python程序,实现如下功能需求: 1)程序运行后,给出文字提示:“请输入一个正整数:”

32、2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的 数。 3)不要超过5行代码。程序运行举例: 请涌入一个正整教:iea 38 45 66759电 30 .完善代码并保存。 实现功能:从键盘输入10个学生的测试成绩,输出最高分和最低分。 cj= foriinrange(0,):x=float(input(请输入一个数)cj.append()print(max(cj),min()input(运行完毕,请按回车键退出”) 【参考答案】*试卷处理标记,请不要删除 、程序填空 1. n*f(n-1)range(1,n+1)s+f(i) 【详解】 本题主要考查Python程

33、序的执行与调试。此处是定义递归函数f(n),由题干,当n=0 时, 返回1,否则返回n*f(n-1),故此处填n*f(n-1)。用递归算法求1!+2!+n,故变量i的范围应是1n,foriinrange(1,n+1)表示i的范围是1,n,故此处填range(1,n+1)。循环体实现累加,将每一项阶乘f(i)力睢Us中,故此处填s+f(i)。 2. total=0#变量可任选(符合规则)foriinrange(1,101):total=total+i*i #total=total+i*2print(total) 【详解】 本题主要考查Python程序的编写。变量total用来统计最终的计算结果,

34、其初始值为 0,故填total=0#变量可任选(符合规则)。求1+22+32+100勺结果,用for循环结 构,变量i的范围是从1到100,故填foriinrange(1,101):。计算语句是total=total+i*i#total=total+i*2。最后用print()函数输出计算结果total,故填print (total)。 3. 计算每一项的阶乘记录阶乘相加后的和t记录的是每一项阶乘的结果,t*=n即 t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合 题意。t=t*ns=s+t 【详解】 本题考查的是python语言编程。本题考查的是1-20

35、阶乘的求和。本题的重点是要先计算 出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。在此过程中既要考虑到 累乘求阶乘结果,又要考虑到累加求所有阶乘的和。初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在forninrange(1,21):的循环体内。 4. 0 【详解】 本题主要考查Python中While循环结构。Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。题中循环体内含If选 择结构,即当i%3为0时

36、,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。 【点睛】 5. layer=int(input(请输入需要打印的层数:) forxinrange(1,layer+1): foryinrange(1,x+1):print(*,end=) print() JXJ2A1. 商需了亲要打印的三耙q* * * I 【详解】本题主要考查Python循环结构。Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。range可以生成一个整数列表,列表范围根据接收的layer来确定。外层循环用于确定输出行数,内层循环用于控制每行符号个数。 【点睛】 6.

37、llist.append(n-1,0)head=0long1head=llistk1llistk1=llistt1k=llistk1 【详解】 本题主要考查Python程序执行与调试。for循环体是将索引0-n追加到llist中,此处是 循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append(n-1,0)。 head是列表头,初始化为0,故填head=0。最后剩下一个,其余人都将被杀掉,故 循环条件是long1,变量long控制元素个数,故填10ng1。索引为t的删除后,此处是更新head值,故填head=llistk1。删完后,如果t等于head,需要更新索引k

38、,将索引t的值赋给变量k,故填llistk1=llistt1。如果t不等于head,也需要更新索引k, 故填k=llistk1 FileEditFormatRunOptionsWindowHelp Mint(inputF 粕入 M 装的簟记本 I 和笔记本 2 的本数为广)a=3*nb=5*ny= =:T=RESTART;Ci/Users/huantcaixi/DcErktcp/4-Lpy 输入购买的笃记本 1 和堂记本 2 的本数为:3。 啕逐笔用本 1 和舅记本 2 的科里为 30 本 可若省的金额为 46.00 元 | 【详解】 本题主要考查Python程序的执行与调试。运行结果如下:

39、金 4-l.py-C/User/hueng8 一洁/Desktop*(3.7.0) AteEd*FormatRunOptiortiWindowHeltj a=3*na=3*n b=5*nb=5*n y=(a+V)y=(a+V)* *(1(1- -0+0+8)8) printprint购英篁记本 1 1 和望记本 2 2 的数为“,叫本”) printprint可节备第上新为乐 2fFyJ2fFyJ 无) :jPython1.7.0Shelt 印片 EditShHQebcgQptionsfcldpEditShHQebcgQptionsfcldp PTthcn377.0(v377.OilbfPTt

40、hcn377.0(v377.OilbfSccSOSSrJuri27SccSOSSrJuri27- -2018704:59:51)MSCt2018704:59:51)MSCt 4)on.vin324)on.vin32 TypecopyrightTypecopyright- -r r*credits*or*license()*farnoreinformati*credits*or*license()*farnoreinformati =i=RESTART:C=i=RESTART:C- -/Usetrs/huangcaixi/Deslctop/4/Usetrs/huangcaixi/Deslctop

41、/4- -1 1. .pypy 输入购买的堡记本 1 1 粕量记本 2 2 的本数为*30*30 购展里记本帽堂记本 2 2 的望堂为 3030 本 可节省的金果为 48.0048.00 元 ayFrr=ayFrr=1 1 口上行 1111 即 1t1tff清输入里事打印的层物:forfor* *ininranran(Ulafer+i)(Ulafer+i); foiyinrangeL1,K41):pri2lt(*,Entfc) printprint 7. I 8. l=foriinrange(2000,3201): if(i%7=0)and(i%5!=0): l.append(str(i)pr

42、int(,.join(l) 【详解】 本题主要考查程序设计。由题干要求,可以使用Python程序设计语言实现,可使用for循 环以及列表,可以使用join函数按逗号分隔格式打印结果,join函数连接字符串数组,将 字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,具体代 码如下: l= foriinrange(2000,3201): if(i%7=0)and(i%5!=0): l.append(str(i) print(,.join(l) 9. s=input(inputastring:) letter=0#统计字母 space=0#统计空格 digit=0#统计数字 o

43、ther=0#统计其他字符 forcins: ifc.isalpha():letter+=1 elifc.isspace(): space+=1elifc.isdigit(): digit+=1 else: other+=1 print(字母:,letter,空格:,space,数字:,digit,其他字符:,other)【详解】 本题主要考查程序设计。题干要求可通过Python程序实现,使用for循环、多条件分支结 构。其中实现分别统计出其中英文字母、空格、数字和其它字符的个数可通过函数 isalpha、isspace、isdigit来判断统计,具体代码如下:s=input(inputast

44、ring:) letter=0#统计字母 space=0#统计空格 digit=0#统计数字 other=0#统计其他字符 forcins: ifc.isalpha(): letter+=1 elifc.isspace(): space+=1 elifc.isdigit():digit+=1 else: other+=1 print(字母:,letter,空格:,space,数字:,digit,其他字符:,other) 10. foriinrange(100,1000): a=i/100 b=(i/10)%10 c=i%10ifi=a*a*a+b*b*b+c*c*c: print(i) 【详解

45、】 本题主要考查程序设计。可通过Python程序设计实现题干要求,通过for循环找出水仙花 数,依次取出三位数的每一位数,其中百位a=i/100,十位b=(i/10)%10,个位c=i%10, 然后判断是否是水仙花数,具体代码如下: foriinrange(100,1000): a=i/100 b=(i/10)%10 c=i%10ifi=a*a*a+b*b*b+c*c*c: print(i) 11. 将year转换为整型数据,并赋值给yearAndyear%100!=0oryear【详解】 本题主要考查Python程序设atoinput接收的数据类型是字符串型, 该语句表示将year转换为整型

46、数据, 并赋值给year。判断某一年是否是闰年白方法是年份数能被4整除,但 不能被100整除,或者年份数能被400整除,故第二、三、四空分别填And year%100!=0or最后输出打印某一年是否是闰年,需要将year转换为字符型。 12. -b/(2*a) 【详解】 本题主要考查Python程序执行与调试。delta大于0,方程有两个不同的解,delta等于 0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。delta=0,则方程有 两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。 13. c5 【详解】 本题主要考查Python程序执行与调试。第一个人38

47、岁,n标记第几个人,变量c保存 年龄,当n=1时,c=38,故第一空填38。后面的人都比前一个人小3岁,故当n不等 于1时,调用递归函数age,c=age(n-1)-3,最后返回第n个人的年龄c,第二空填c。此处是返回第5个人的年龄,即age(5),填5。 14. nrn 【详解】 本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。由n=min(x,y)可知最小值为n,故处为n,由r=m%n可知余数为r,

48、故处为r,最后的除数是n(即最大公约数为n),故处为n。 15. 顺序结构pi=3.14r=float(input(请输入半径r:)整型和实数型不能直接运 算,结果会有误差h=float(input(“请输入高h:“) 【详解】 本题主要考查Python程序执行与调试。分析程序可知,解决问题的程序用到的控制结构 有:顺序结构。圆周率定义为:3.14,故第二空填pi=3.14。r=float(input(“请输入 半径r:)整型和实数型不能直接运算,结果会有误差h=float(input(“请输入高 h:)。 16 .a=float(input(请输入一个数) b=float(input(请输入

49、一个数) c=float(input(请输入一个数) ifcaandcb: print(最大数为:,c) elifba: print(最大数数 else: print(最大小数为,a) aFfloart(inputC诣轴入一个教bflaart(inputCioffiA a=fioartaaiid匚2: print(最大觥为: clif3a; printbj JpHintr最大小灶为ZQ 【详解】 本题主要考查算法描述及Python程序设计。分析算法流程图,首先输入a、b、c三个数, 进行两两比较,输出最大数,故Python程序设计如下:a=float(input(请输入一个数)b=float(

50、input(请输入一个数)c=float(input(请输入一个数)ifcaandcb: print(最大数为:,c)elifba: print(最大数数,b) else: print(最大小数为,a) 17 .全文变量k+1枚举法Word/WPS/PowerPoint等【详解】 本题主要考查Python程序的执行与调试。百度属于全文搜索引擎,也是关键词搜索。 变量可以反复赋值,故k是变量。循环体执行完,k递增,继续找水仙花数,故此处 填k+1。逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。 在研究成果展示环节,张轩小组可以使用Word/WPS/PowerPoint等软

51、件制作探秘水仙花 数的研究成果报告。 18. myRank.append(Ai)jlen(B)klen(A)+len(B)-1AiBj 【详解】 本题主要考查python编程。根据表格所示,列表B中第5个元素为309,因此处为309;AiBj时,将列表末尾添加Ai,因此处为myRank.append(Ai);当列表未结束时,列表末尾添加相应元素,因此处为jlen(B);算法二中引入变量k,用以记录 i与j的和,当k小于len(A)+len(B)-1说明两列表未结束,因此处为klen(A)+len(B)-1;若AiBj,则先将Ai添加至列表末尾,因此处为AiBj。 【点睛】 19. f=True

52、isprime(k+2)k=k+1或k+=1或k=k+2或k+=2【详解】 本题主要考查Python程序的执行与调试。 isprime(x)用来判断x是不是素数, 通过用x整除2int(math.sqrt(x),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初 值为True,故第一空填f=True。若两个素数之差为2,则该对素数称为双胞胎数,此 处判断相差为2的两个数是不是素数,故第二空填isprime(k+2)。素数都是奇数,此处 需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填k=k+1或k+=1或k=k+2或k+=2。 20. m=0elift60:A 【详解】 本

53、题主要考查Python程序的执行与调试。若员工在本月累计运动时间30小时以下,奖励0元,即m=0o达到45但不足60小时奖励450元,故填elift60:。-1 【详解】 本题主要考查Python程序的执行与调试。将csv文件读入并转化为数据框形式,故填 pd.read_csv。groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。此处删除姓名歹U,可以使用drop()函数来删除,故填result.drop(姓名,axis1)。zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。 22. 列表字典键值对33 【详解】 本题

54、考查的是python语言的数据类型,列表和字典。(1)列表是写在方括号口之间,用逗号分隔开的元素列表,students=小明,小红,小刚就是列表。(2)字典用标识,它是一个无序的“键(key):彳K(value)对集合,字典当中的元素是通过键来存取的,而不 是通过偏移存取。scores=小明:95,小红:90,小刚:90就是一个字典类型。(3)其中“小明:95”就构成了一个键值对。(4)len()方法返回列表元素个数。students=小明,小红, 小刚,里面有三个元素,故返回值是3。(5)print(len(scores),其中scores=小明:95,小红:90,小刚:90该字典有3个键值

55、对,故输出结果是3。 23. range%10 x%10或x-b*100-s*10或其它同等答案x 【详解】 本题考查的是Python程序设计。水仙花数是指一个三位数,故使用range函数遍历100999;s存放的是十位数,故可以选对x取整后再除以10求余,故第二空应填%10(求 余符号);g是存放个位,直接除以10求余,或减去前面整百和整十的数,故第三空 为:x%10或x-b*100-s*10或其它同等答案;如果找到满足条件的数,则输出,故第四空为:x。 24. range(100,1000)x/10%10 x%10print(三位数之内的水仙花是:+str(x)【详解】 本题主要考查Python程序的执行与调试。水仙花数是指一个三位数,即100,999,forxinrange(100,1000)表示x的范围是100-999,故此处填range

温馨提示

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

最新文档

评论

0/150

提交评论