资源描述
试卷python考试题目程序填空阅读填空程序试题一、程序填空1.地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归年。公历的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于2月 末(即2月29日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是否是 闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以下是 一段用于判断某一年是否是闰年的程序。year=input(请输入您要判断的年份:)year=int(year)#resul t=(year%4=0)(year%400=0)if resul t:s=是el se:s=不是”print(str(5)+“年+s+闰年”)请将上面程序框中空格处的内容填写完整,其中处填写代码注释2.请在空格处填写正确的代码,使程序完善。实现功能:绘制V=x2-2x+1的图像#加载numpy模块并限简洁的别名为np import numpy as np#加载matplotlib.pyplot模块并限简洁的别名为pitimport matplotl ib.pypl ot as pit#x在-7到9之间,每隔0.1取一个点x=np.arange(-7/9/0.1)=x*2-2*x+lplt.plot(x7)plt.title(y=x*x-2*x+l)plt.xlabel(x)plt.yl abel(y)pit._3.程序补充:(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=_whil e_print(year,“年后资金被全部取出”)4.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。*5.以下是计算s=1+6+11+101的程序代码,请补全程序。s=0for i in range(l,102,):s=_print(s)请补充完成上述程序 6.分析完善程序某市出租车收费标准如下:(1)3公里内(含3公里),收费8元(2)超过3公里但未超过6公里部分,按1.5元/公里收费(3)超过6公里部分,按2.25元/公里收费。根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少兀?算法分析假设总费用为P,则可以分段计算p=8 (sW3)p=1.5*(s-3)+8 (36)参考代码a=float(input(/s=w)if s 6:p=2.25*(s-6)+1.5*3+8print(p)根据上述回答如下问题:(1)本题采用的算法是(填:解析法/枚举法/排序法/递归法)。(2)程序代码中空白处应填写的条件是(填:A/B/C/D)。A.3s=6 B.3=s3 and s3 Or s=67.(项目情境)在中国古代,出自数学家张丘建的算经中这样一个值得研究的问题:今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。凡百钱,买鸡百只。问鸡翁、母、雏 各儿何?这个问题就是著名的“百钱买百鸡问题”。即:现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:公鸡,母鸡,小鸡都要有,把100文钱买100 只鸡,买的鸡是整数。问公鸡、母鸡和小鸡各儿何?(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下 程序,在空白处填写适当的表达式或语句,使程序完整。for g in range(lz20):for m in:for x in range(3z98,3):if and=100:print(公鸡:用,母鸡:”,171,小鸡:,x)8.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个 人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只 剩下2这个人。llist=n=int(input(“请输入参与人数:”)for i in range(0,n-1):Hist.append(i,i+1)i=lp+=l long=long-l k=ll istkli+=lprint(llistheadO)9.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果 正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。10.哥德巴赫在1742年提出了以下猜想:任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。import mathdef ss(n):Flag=Truei=2while i=int(math.sqrt(n)and Flag:if_Flag=Fal sereturn Flagn=int(input(输入一个大于2的偶数”)for i in rang(2zn/2+l):if_print(str(n)+=+str(i)+str(n-i)如果输入“8”则结果显示11.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)day=input(请输入年月日(格式举例:2000-01-05):)year=int(day:4)month=_sun=int(day8:10)print(year/month/sun)f_run=31,28,31,30,31,30,31,31,30,31,30,31tal l_day=0if:for i in range(month-l):tall _day+=f_runielse:for i in range(month-l):tall _day+=f_runitall _day+=sunprint(day+”是当年的第+str(tall _day)+天)(1)将程序横线处补充完整(2)如输入“2020-4-19”为当年的第 天。12.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。13.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数 互换,否则原样输出。14.冠军在A、B、C、D四位同学中。A说:“不是我”,B说:“是C”,C说:“是 D,D说:“C说的不对”,已知四人中有一人说了假话。判断出到底谁是冠军。请在空格处填写正确的代码,使程序完善。champion=A;B,;C;D#设置选手列表fori in:#循环读取选手编号cond=(i!=A)+(i=C)+(i=D)+(i!=D)#查找符合条件的选手if cond=:#说真话是否是3人print(冠军是二)#输出冠军input(运行完毕,请按回车键退出)15.操作说明:打开文件“Y:/2/2.py”,在代码窗口指定位置、处修改完善程序代 码,不得增加、删除语句或改变程序原有结构,操作结束后保存。以下程序段的功能是:输入一个正整数n(1至100),输出它的约数的个数。s=0n=int(input(请输入一个正整数:)if n100:exit#输入的数不符合要求,退出for i in range(l,n+l):ifn/i=0:s=s+i print(约数的个数是:,s)16.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为。到9之间的数字,“Y”为校验码。校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘 以1加上第2个数字乘以2依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。用Python设计一个程序,输入物品代码,判断输入的代码中校验码 是否正确,如果正确输出“正确”,否则输出“错误二运行样例如下所示:样例1:输入:2-163-91475-4输出:正确样例2:输入:2-163-91475-5输出:错误(1)Python程序实现如下,请在划线处填入正确的代码:s=input(输入物品代码:)a=for i in range(0,13):if a.append(int(si)#append()函数用于在列表末尾添加新的对象sum=Ofor i in range。9):sdm=sum%10if sdm=ydm:print(正确)else:print(错误)17.小王编写了“字符串缩写”程序,实现如下功能:1.输入一串由英文字母和数字组成的字符串,2.如果字符串有连续字符构成的升序段(后面字符的ASCI I值比前面的字符的ASCI I值大1),则把升序段缩写成由第一个字符加上“一”和最后一个字符组成的新字符段,3.例如:字符串为abcdfl 2345becomexy”,则缩写成a-dfl-5becomex-y”。程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:请输入字符串 s:abcdf 1 2345becomexy缩写后的字符串为:a-df l-5becomex-y请输入字符串s:abcl23dfpxycba缩写后的字符串为:a-cl-3dfpx-ycba实现上述功能的程序如下,请在程序划线处填入合适的代码。s=input(请输入字符串s:)flag=Fal seresul t=for i in range(0,k-1):if:result=result+si+-flag=Trueelif ord(si)!=ord(si+l)-l:resul t=resul t+si result=result+si+l print(缩写后的字符串为:;resul t)划线处处应该填入的语句为::划线处处应该填入的语句为::划线处处应该填入的语句为:018.完善代码并保存。实现功能:从键盘输入1。个学生的测试成绩,输出最高分和最低分。cj=for i in range(0,):x=fl oat(input(请输入一个数)cj.append()print(max(cj),min()input(运行完毕,请按回车键退出)19.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的 地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:3.14,请根据下列 代码回答问题:r=int(input(请输入半径 r:)h=int(input(请输入高 h:)c=2*pi*rs=pi*r*2S=c*hV=s*hprint(c,s,S,V)解决问题的程序用到的控制结构有:(填:顺序结构、分支结构、循环结构)请将程序补充完整。请找出程序中的错误代码,并改正。20.有如下程序段:sum=0for i in range(l,20,3):sum+=iprint(/sum=w,sum)循环变量i的初值为:,终值为:,步长为:该程序执行后,输出的结果为:21.已知6月份10位技术考试成绩:12345678910788889908376759810065技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:a=78,88,89,90,83,76,75,98,100,65sum=0for i in range(n):if ai=80:print(sum)执行上述程序段后,输出的内容是22.某字符转置算法描述如下:将字符串(均为大写字符)s依次转换为相对应的数值(字符AZ对应数值126);转换后的数值以K个数据为一段,将个待处理的数据依次分割成若干段(最后一段不足 部分用。来补充);每一段中K个数据与K*K转置矩阵进行乘法运算;将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值126对应字 符AZ),最后按原始字符串长度输出。乘法运算规则如下:第i个元素3)=第 个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=l,2.K)例如:字符串s=PYTHON,区块大小K=4,的转置过程如下:原字符中相对应数俏转置矩阵!2门2堀刍(1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中()处)为(2)请在划线处填入合适代码。原字符小区块大小字符矩阵6 50 5 412281100转删字符淳序转置矩阵9 9 9 97 23 9418 93 5 3 5转比数值|-36()217380.557101;157I 201Xi转置后字符串!vipkwk:_ _;_:Private Sub Commandl_Click()Dim a(l To 100)As I nteger 存储字符串,长度不超过100个字符Dim b(l To 100)As I nteger存储转置矩阵,长度不超过10*10Dim c(l To 100)As LongDim s As String,tmp As StringDim k As I nteger,t As I nteger,i As I nteger,j As I ntegerDim n As I nteger,m As I nteger,lens As I nteger s=Textl.Text 在Textl中输入原始字符串 k=Val(Text 2.Text)在2中输入区块大小K RandomizeFor i=l To kA2 b(i)=lnt(Rnd*9)+l tmp=tmp 十 Str(b(i)I f i Mod k=0 ThenList 2.Additem tmp tmp=.End I fNext ilens=Len(s):n=l ensFor i=l To n tmp=Mid(sJ,l)Listl.Additem Str(a(i)Next iDo While n Mod k0 n=n 十 1a(n)=OListl.Addltem Str(a(n)LoopFor i=l To nm=(il)Mod k+1t=lForj=_c(i)=a(j)*b(m-l)*k+t)+c(i)t=t+lNext jNext iFor i=l To nList 3.Addl tem Str(c(i)Next is=For i=l To lens_s=s+Chr(t+64)Next iText 3.Text=s 在Text 3中输出转置后的字符串 End Sub23.学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为探秘水仙 花数。(1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的:“水仙花数”是指一个 三位数,它的各位数字的立方和等于其本身,比如:153=+53+33,那么这个数就是一个“水仙花数”。百度属于_搜索引擎(全文,分类)(2)为了求解100-999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设 计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:运行结果:k=1 00k=5:n=#取字符串的前5个字符else:n=n+*(5-l en(n)return nr=1000;x=100;y=15;z=0.8#从系统中分别获取消费额度、满和减以及打折的数值dis=红烧排骨香炸刀鱼,虾仁,菜心,米饭#某顾客所点菜品名称num=l,l,1,1,3#某顾客所点菜品数量mon=46z45,68,16,l#某顾客所点菜品单价print(菜品名称数量,小计)for i in range(l en(dis):print(gs(disi),numi,numi*moni)s=s+numi*moniif s=r:total=s*zelse:11 7 11 1351124573 9 13 1311 1X 00 44 75 7print(消费合计:,s)print(应收现金:total)26.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写 python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界 面如图所示:请输入一个正整数n:100 第1对双胞胎数:第2对双胞胎数:第3对双胞胎数:第4对双胞胎数:第5对双胞胎数:第6对双胞胎数:第7对双胞胎数:第8对双胞胎数:共有8对双胞胎数 实现上述功能的程序如下,请在划线处填入合适的代码。import mathdef isprime(x):for i in range(2Jnt(math.sqrt(x)+l):if x%i=0:f=Fal sereturn fn=int(input(请输入一个正整数n:)c=0k=3while k =n-2:if isprime(k)and:c+=1print(第+str(c)+对双胞胎数:,k,和k+2)print(共有+str(c)+对双胞胎数)划线处处应该填入的语句为:划线处处应该填入的语句为:划线处处应该填入的语句为:,27.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金 突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.def convert(s):m=0le=len(s)key=sle-lif key=B:n=2elif key=D:else:n=16i=0while i=0and c=Aand c=F:a=ord(c)-ord(A)+10i+=lreturn ms=input(请输入算式)result=0;suanful=;suanfu2=;sl=for i in range(l en(s):c=siif c=+or c=-orc=:suanful=suanfu2suanfu2=cif suanful=:result=tif suanful=+:resul t=resul t+tif suanful=-:resul t=result-tsl=else:sl=sl+cprint(计算结果为+str(resul t)+D)(1)将程序横线处补充完整(2)如输入“1110B+10D-30H=则输出结果为28.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端 发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇 数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味 着传输过程中存在差错。例如:接收到的每个字节及校验码1的个数传输正误1001010014错误0110101015正确1010110105正确根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。请回答下列问题:(1)若接收到的二进制码为“101011011”,传输过程(选填:是/否)存在差 错。(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。s=input(请输入9位二进制编码:)code=10:A,ll:B,12:C,13:D,14:E,15:Fk=0;p=0;ans=/wf。门ins#统计9位二进制编码中“1”的个数 k=k+int(i)if:print(传输错误!。else:print(传输正确!。for j in range(0,8,4):p=int(s0:j+4,2)#int(x,base):将x(字符串或者数字)按照base进制转换成整数if 0=p=0*money=round(money*l,037-20000,2)year=year+l【详解】本题主要考查Python程序语句。此处是变量money的初始化,有5万元资金存入银行,故填50000。5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填 0.0325,0.03,0.03,0.02,0.0175o 通过 for 循环,从 rate 数组中取值,故填 i in rate:(没有冒号算错误)。调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。购买了 10万元一年期收益率3.7%的银行保证收益 型理财产品,故money的初始值为100000,故填100000。year的初始值也为0,故填 0。循环条件是money大于。或大于等于0,故填money。或money=0。收益率 3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用 round函数保留2位小数,故填money=round(money*l.037-20000,2)o循环变量是 year,此处year递增进入下一轮循环,故填year=year+l。4.l ayer=int(input(请输入需要打印的层数:)for x in range(1,l ayer+1):for y in range(1,x+1):print(*,end=)print()RUbl 上layer=int(input(请输入需要打印的层数:)x range(1,layer+1):f ui y in range(1,x+1):print end=)print()请输入需要打印的层毅:4*I【详解】本题主要考查Python循环结构。Python for循环可以遍历任何序列的项目,如一个列表或者 一个字符串。range可以生成一个整数列表,列表范围根据接收的l ayer来确定。外层循环 用于确定输出行数,内层循环用于控制每行符号个数。【点睛】5.s+i【详解】本题主要考查Python循环结构。题目要求计算1、6、1L.101等差数列之和,其中公差为5,因此为5;s变量用于记录等差数列之和,需进行累加计算,因此为s+i。【点睛】6.解析法或解析A【详解】本题主要考查Python程序的执行与调试。由算法分析可知,本题采用的算法是解析法或 解析。3公里内(含3公里),收费8元;超过3公里但未超过6公里部分,按1.5元/公里收费;超过6公里部分,按2.25元/公里收费,故此处填3s=RESTART:C:/Users/del l/Desktop/1.py=-公鸡:4母鸡:18小鸡:78公鸡:8母鸡:11小鸡:81公鸡:12母鸡:4小鸡:84 I8.Hist.append(n-1,0)head=0 l ongl head=l listkl l l istkl=l l isttl k=ll istk 1【详解】本题主要考查Python程序执行与调试。for循环体是将索引0-n追加到Hist中,此处是循 环体执行完,将末元素与首元素的索引加入到Hist中,故填llist.append(n-1,0)ohead是列表头,初始化为0,故填head=0。最后剩下一个,其余人都将被杀掉,故循 环条件是l ongl,变量l ong控制元素个数,故填l ongl。索引为t的删除后,此处是更 新head值,故填head=l l istkl。删完后,如果t等于head,需要更新索引k,将索引t 的值赋给变量k,故填l l istkl=l l ist田。如果t不等于head,也需要更新索引k,故填 k=l listkl9.pw=input(请输入密码:)password=123456i=lwhil e(i=3):if pw=password:print(恭喜你进入系统!)breakelse:print(请重新尝试:,i)pw=input(请输入密码:)i=i+l【详解】本题主要考查程序设计。可以通过Python程序设计语言实现题干要求,可以通过whil e循 环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:pw=input(请输入密码:)password=123456i=lwhil e(i=3):if pw=password:print(恭喜你进入系统!)breakelse:print(请重新尝试:,i)pw=input(请输入密码:)i=i+l10.n%i=0:i+=l ss(i)and ss(n-i):8=3+5【详解】本题主要考查Python程序的执行与调试。函数ss(n)用来判断n是否为质数,若是则返回 True,否则返回Fal se,此处是通过whil e循环逐个判断n是不是能整除i,故填n%i=0:。若不满足if条件,贝M递增,继续循环判断,故填i+力。此处判断i与n-i是否都是质数,若是,则表明该偶数可以写成两个质数之和,并输出,故填ss(i)andss(n-i):。如果输入“8”则结果显示8=3+5。三卷三二二:三 se5/A/Desktop/Python程序/音笔巳蓑猜.XRie Edit Format Run Options Window Help邓哥德巴羚在1 742年提出了以T清想:任何一个大于2的偶数都可以写成两唳质数三和,清 import mathdel ss(n):Flag=Truei=2,rhile i=RESTA RT,C:/U sers/A/Desktop/Python 程序/哥德巴赫猜想.py=系又二不大于2的偶数:88=3+5 I11.仍1(丫5:刀)(year%4=0 and year%100!=0 or year%400=0)and month=2 tal l _day+=l 110【详解】本题主要考查Python程序的执行与调试。此处是取出字符串day中的月份赋给变量 month,month是第5第6位,strstart:end,start会包含在结果中而end却不会,故此处 填int(day5:7)。此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当 前的月份是不是包含2月即大于等于2月,故此处填(year%4=0 and year%100!=0 or year%400=0)and month=2o如果是闰年且当前日期包括2月,则循环完tal l _day需增加1 天,故填tal l _day+=l。输入“2020419”为当年的第110天。y-on后序序X糕小明否:计了一个可以输入日期得到当天是年度第几天的程序,邓(闰年判却规则:能被4整除但不能被100整除或能物4加整除 day=input(清输入年月日(格式率0!1:2000-01-05):)File Edit Format Run Options Window Help 请i期卖程序手成埴一,由年的2月为29天)year=mt(day.4)month=int(day5:7)sun=mt(day 8:10)print(year,month,sun)f_run=31,28,31,30,31,30,31,31,30,31,30,31tall_day=0(year%4=0 year%100!=0 year%400=0)month=2:匚 i i ii;range(month-1);tall-day Mf_runi tall-daylelse:i range(month-1)tall_day+=f_runitall_day 4=RESTART.C./Users/A/Desktop/Python 程序/输入日期得到当天是年度第几请招入4月日(格式举例:2000-01-05):2020-04-192020 4 192020-04-19是当年的第110天12.str=input(请输入要转换成大写的数据:)c=len(str)for i in range(Ozc):print(stri.upper(),end=)【详解】本题主要考查程序设计。题干要求可使用Python程序设计实现,通过upper函数可以将输 入数据转换成大写并输出,具体代码如下:str=input(请输入要转换成大写的数据:)c=len(str)for i in range(0,c):print(stri.upper(),end=)13.a=int(input(请输入数 a:)b=int(input(请输入数 b:)if ab:t=aa=bb=tprint(用户输入的数按小到大排序结果是:,a,b)else:print(原样输出,a,b)【详解】本题主要考查Python程序设计。使用input函数接收两个数a和b,用if条件分支结构判断a和b的大小,如果a大于b,则交换,否则原样输出,具体代码如下:a=int(input(请输入数 a:)b=int(input(请输入数 b:)if ab:t=a a=b b=tprint(用户输入的数按小到大排序结果是:,a,b)else:print(原样输出,a,b)14.champion 3 i【详解】本题主要考查Python程序的执行。champion是选手编号列表,此处是循环读取选手编 号,使用f。门in champion,故此处填champion。四人中有一人说了假话,即3个人说真 话,即当cond=3时-,则表示找到了谁是冠军,故此处填3。当cond是3时,i即为冠军,故此处填i。15.n%i=0 s=s+l【详解】本题主要考查Python程序的执行。变量i的取值范围是l n,如果n能整除i,则i为n 的一个约数,s统计约数的个数,故此处应修改为n%i=0。如果n能整除i,贝(Js递增,故此处应改为s=s+l。16.0=si=9或 si in 川123456789 sum=sum+ai(i+1)ydm=a9*【详解】本题主要考查Python程序执行与调试。变量s保存商品仓库物品代码,若si是数字则进 入循环判断,否则跳过,故此处判断条件是0=s=5时,取n=n0:5,即索引为0、1、2、3、4,故填n0:5o用变量s 统计消费合计,初值为0,故填s=0。此处el se部分处理1000元以下享受每满100减15 优惠。应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合 计,故填 total=s-sx*y。26.f=True isprime(k+2)k=k+l 或 k+=l 或 k=k+2 或 k+=2【详解】本题主要考查Python程序的执行与调试。isprime(x)用来判断x是不是素数,通过用x 整除2int(math.sqrt(x),如果余数为。则表明该数不是素数,赋值f为假退出循环,f的初 值为True,故第一空填f=True。若两个素数之差为2,则该对素数称为双胞胎数,此 处判断相差为2的两个数是不是素数,故第二空填isprime(k+2)。素数都是奇数,此处 需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填k=k+l或k+=l或 k=k+2 或 k+=2o27.n=10 m=m+(n(le-2-i)a t=convert(sl)-24D*【详解】本题主要考查Python程序的执行与调试。二进制的权值是2,十进制的权值是10,十六 进制的权值是16,此处是十进制的情况,故填n=10。二进制、十六进制转化为十进制的 方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填01加+(11*(02-力*2。当字符c是“+”、“=”时,则表明第一个运算数已全部保存到变量si中,此处需要将其转化为十进制保存到变量t中,故填 t=convert(sl)o1110B转化为十进制数是14D,30H转化为十进制数是48D,故 1110B+10D-30H=-24Do28.是 k%2=0 或(k+l)%2=1,或(k-l)%2=l ans+codep ans【详解】本题主要考查Python程序的执行与调试。若接收到的二进制码为“101011011”,1的 个数有6个,则传输过程存在差错。变量k统计1的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2=0或(k+l)%2=1或(k-l)%2=l。如果p是19之间的数字,则直接将P拼接到ans中,否则从字典code中取对应的字母,故此处填ans+codep0变 量ans保存转换后的十六进制,故此处填ans。29.range(100z1000)x/10%10 x%10 print(三位数之内的水仙花是:+str(x)【详解】本题主要考查Python程序的执行与调试。水仙花数是指一个三位数,即100,999,for x in range(100,1000)表示 x 的范围是 100-999,故此处填 range(100,1000)。变量 g、s、b 分 别存放个位、十位、百位上的数,故s=x10%10(“”表示整除,”表示取余)。(3)g=x%10o如果满足x=(b*3+s*3+g*3),则输出“三位数之内的水仙花是:x,故此 处填print(三位数之内的水仙花是:+str(x)30.for i in range(1,100):if i 1:for j in range(2J):if(i%j)=0:breakelse:print(i)【详解】本题主要考查Python程序设计。可以通过for循环找出100以内的素数,用i依次整数2i-L如果能整除表明i不是素数,否则i为质数,具体代码如下:for i in range。,100):if i 1:for j in range。,i):if(i%j)=0:breakelse:print(i)
展开阅读全文