1、青少年python二级真题21-05图文程序填空阅读填空程序试题一、程序填空1.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多 出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后 多出两个。编写程序求出这些小朋友的可能人数。这群小朋友总的人数有:128、233、338、443、548、653、758、863、968、可能情况数为:9种 I实现上述功能的程序如下,请在程序划线处填入合适的代码。a=for i in range(10 0,10 0 0):a.append(i)total+=1print(这群小朋友总的人数有:)for j i
2、n range(len(a):print(,end=)print()priM可能情况数为:。total,种)划线处处应该填入的语句为:划线处处应该填入的语句为:划线处处应该填入的语句为:2.调试程序。请阅读以下程序并写出运行结果。f ruites=-banaria,apple J mango fruit fruites:print(fruit)a=len(f ruites)print(3=,a)banana apple mango a=3 Ifruites=,bananal/apple7mango,for fruit in fruites:print(fruit)a=len(fruites)p
3、rint(a=/a)3.阅读程序。for i in range(lz10):for j in range(l,i+l):print(%d X%d=%2d%(j,i,j*i)/end=)print()l:i range(1,10)::j!ranged,i+1):print(%d X 二,二i,j*i),end=)print 0金 Python 3.6.5 Shell I o I 回 iFile Edit Shejl Debug Options Window HelpPython 3.6.5(v3.6.5:f59c0932b4J Mar 28 2018,16:07:46)MSC v.1900 32
4、 bit(Inte 1)on Win32Type*copyright,credits or license。”for more information.,=RE START:一=1 X 1=1 1X2=22X2=41X3=32X3=63X3=91X4=42X4=83X 4=12 4 X 4=16 1 X 5=5 2 X 5=10 3 X 5=15 4 X 5=20 5 X 5=25 1 X 6=6 2 X 6=12 3 X 6=18 4 X 6=24 5 X 6=30 6 X 6=36 1 X 7=7 2 X 7=14 3 X 7=21 4 X 7=28 5 X 7=35 6X7=42 7 X
5、 7=49 1 X 8=8 2 X 8=16 3 X 8=24 4 X 8=32 5 X 8=40 6 X 8=48 7 X 8=56 8X8=64 1 X 9=9 2 X 9=18 3 X 9=27 4 X 9=36 5 X 9=45 6 X 9=54 7 X 9=63 8 X 9=72 9 X 9=81 I(1)在第一行程序中,变量i的数据范围为 到_。(2)在第二行的程序中,变量j的数据范围为 到。(3)如果“d”表示十进制数,那么2d则表示 位宽的十进制数。(4)第三行程序改为print(d X%d=%2d%(i,j,i*j),end=),则本题的输出应该是_(5)如果最后一行的pri
6、nt。表示换行,那么end=的功能是4.编写程序,找到并输出100以内的素数。5.以下是计算s=1+6+11+101的程序代码,请补全程序。s=0for i in range。,10 2,):print(s)请补充完成上述程序 6.程序分析题学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一个最低分,计 算其余4位评委的平均分,作为选手的最终得分。max记录最高分;min记录最低分;s 记录六位评委的总分;aver记录最终得分。附J 讲奏四:和二:聂线军分:计厘群分第1步:从文本框中分别读入6位评委的打分并依次存入到a(l)至a(6)中第2步:将第1位评委的打分a(l)分别赋给
7、最高分max,最低分min和总分S第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。第4步:从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作 为选手的最终得分。max=aO min=aO s=0for i in range(6):s=s+aiif aimax:max=a iif ai:xl=(-b+math.sqrt(delta)/(2*a)x2=(-b-math.sqrt(delta)/(2*a)print(方程有两个不同的解,xl,x2)elif
8、delta=O:xl=_print(方程有两个相同的解,xl)else:print(方程无解)input(运行完毕,请按回车键退出。19.完善程序实现如卜功能并保存:有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第 3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。编写程序,计算出第5个人的年龄并显示。def age(n):if n=1:c=else:c=age(n-1)-3return _print(第 5 人的年龄:,age()input(运行完毕,请按回车键退出)20.完善程序实现以下功能并保存。输出数组的最大值。arrl=
9、12,435,76,24,78,54,866,43_=-32768for i in range(0,7):if arrli maxi:maxi=print(最大值是:,)input(运行完毕,请按回车键退出)21.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解 垃圾的分类情况,建立了以下四类列表,listl(可回收垃圾)、Iist2(有害垃圾)、Iist3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。底1,玻璃瓶,旧书,金属,纸板箱,旧衣服,易拉罐同2=胶片,消毒水,纽扣电池,水银温度计,过期药水,泡沫塑料Iist3=动物内脏,菜叶菜梗,过期食品,
10、香蕉皮,果壳根据现有列表,完成以下问题:写出从列表Iist3中取出“过期食品”的表达式:(2)写出从listl中截取口日书,金属,纸板箱这一段的表达式:现又发现一个新的列表如下:底4=过期化妆品,过期药品,杀虫剂,经过判断,里面 存放的为有害垃圾,如何将该列表中的元素添加到Iist2中,请写出相关的表达式:小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到 列表listl中:22.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善程 序。程序如下:import mathdef IsPrime(i):if i=l:return Falsefor
11、j in range(2Jnt(math.sqrt(i)+l):if:return Falsereturn T ruea=int(input(请输入 a:)b=int(input(请输入 b:)summ=Ofor i in range(a,b+l):if IsPrime(i):while t0:summ=summ+t%10 print(数字和为:,summ)23.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。它是已 知最古老的算法,其可追溯至公元前300年前。辗转相除法的算法步骤是,对于给定的两个正整数m、n(mn),用m除以n得 到余数r,若余数r不为0,就将n和r构成
12、新的一对数(m=n,n=r),继续上 面的除法,直到余数为0,这时m就是原来两个数的最大公约数。因为这个算法 需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转 相除法的算法,请根据下面算法回答问题。描述一描述二描述三输入两个正整数m,n(mn);计算m除以n所得的 余数r;(3)m=n,n=r;若r=0,则m,n的最大公 约数等于m;否则转到步 骤;输出最大公约数m;结束。开始)1L-1(input(in=)2 n=int(input(n=)3 if m n:4 t=m 5 mn6 n=t7 r=18 while _:9 r=m%n10 m=n11 n=r12 print(
13、最大公约数为:,m)i-m MOD uz(J m=n1丫是输出in,I结束1 a/1(1)描述一是 描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。(2)在描述三中代码4到6行作用是。(3)在描述三程序设计中,补充代码第8行划线处为。24.密码强度检测。编写python程序,实现如下功能:输入要检测的密码,输出密码强度 结果。密码字符分为数字字符、字母和其他符号三类。密码强度的检测方法为:若密码位 数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!”。若密码位数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二
14、类字符,则密码强度为“中等”;若密码字符属于不同 的三类字符,则密码强度为“强”。(1)若输入12abcd5!”,则输出结果为(选填,选字母:A,密码位数不能 少于8位,请重新输入!/B.弱/C.中等/D.强)(2)实现上述功能的程序如下,请在划线处填入合适的代码。password=input(“请输入要检测的密码:”)S1if n8:print(“密码位数不能少于8位,请重新输入!”)else:nl=On2=0n3=0for i in range(0,n,1):if“0”=ch=“9”:nl=lelif a”=ch=z”or A=ch=Z”:n2=lelse:n3=l0)_if x=3:pr
15、int(强”)elif x=2:print(“中等”)else:print(“弱”)25.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二 个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。a=int(input(请输入第一个数:)fh=input(请输入运算符:)b=int(input(请输入第二个数:)flag=T rues=_i
16、f fh in s:iffh=+:c=a+belif fh=-:c=a-b elif fh=*:c=a*belse:if_print(除数不能为0!)flag=Falseelse:c=a/bif flag=T rue:print(运算的结果为:+)else:print(运算符不正确)26.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金 突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.def convert(s):m=0le=len(s)key=sle-lif key=B:n=2elif key=D:else:n=16i=0while i=0
17、 and c=Aand c防国.act ion=”是dest inat ion=造悌世界number=_ _一一h一?=:RESTAR袤的港移世界通行密码是153(1)变量who的数据类型。(2)类似number的数据类型_。(3)print语句输出的结果是。(4)str(number)的作用是。(5)“+”在程序中的作用是 o28.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。(1)Python程序设计语言属于程序设计语言中的。A.机器语言B.汇编语言C.高级语言D.翻译程序(2)小C将设计好的算法转为Python程序语言(如下)。其中“T ot2=8”是一个.,
18、“#初始化时长费为0”是一个,S9):#计算时长费用6 T otl=(T-9)*0.27 if(S=3.3):#算里程费用8 T ot2-89 else:10 T ot2=8+(S-3.3)*1.3511 Cost-T otl+tot212 print(Cost)#输出总车费(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:_NameError T raceback(most recent call last)in9else:10-11 Cost=T otl+tot212NameError:name tot2 is not defined(4)经过修改
19、之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运 行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。小C借助于 计算机编写程序解决问题的这个过程是:设计算法编写程序分析问题调试运行程 序,合理的顺序是。(填写序号即可)(5)总结用计算机解决问题的优势主要有:_ 29.使用Python自身提供的IDLE集成开发环境录入以下代码及调试运行,检测结果。#鸡兔同笼for x in range(lz23):y=35-xif 4*x+2*y=94:print(兔子有%s只,鸡有s只(x,y)特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处
20、置办法,直至能正确输出结果。30.操作说明:打开文件“Y:/l/l.py,将程序补充完整,不得增加,删除语句、或改变 程序原有结构,操作结束后保存。以下程序段的功能是:根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!”,否则输出对应的英文星期的简称如Mon、T ue、Wed、T hu、Fri、Sta、Sun on=int(input(请输入一个数:”)list,Mon,T ue,Wed,T hu,Fri,Sta,Sun”if:print(输入错误!”)else:print()【参考答案】*试卷处理标记,请不要删除一、程序填空1.total=0 i%3=2 a
21、nd i%5=3 and i%7=2 aj【详解】本题主要考查Python程序的执行与调试。变量total用来统计有多少种情况,初始值为 0,第一空填total=0。当他们分成三人一组时,发现最后多出两个;当他们分成五人一 组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为 i%3=2 and i%5=3 and i%7=2,满足if条件时,将该值加到列表a中,故第二空 填i%3=2 and i%5=3 and i%7=2。最后通过for循环输出所有可能的数,用变 量j控制,故第三空填a j。2.banana applemango a=3【详解】本题主要考查Pyt
22、hon中For循环结构。for循环可以遍历任何序列的项目,如一个列表或 者一个字符串;len()方法返回列表元素个数。因此本题输出为各列表内容及列表元素个数。【点睛】j.py-C;/U-/A/DHop/apy(385)一 XFile Edit Format Run Options Window Help for i i ti range(1,10):j range(1,i+1):print(M%d X%d%2dA%(i,j,i*j),enct*)Lt Python 3.8.5 Shell 一 XFile Edit Sheil Debug Qptions Window Help:V3.9 1 i
23、 2n 3.8.5(tags/v3.8.on Win32“help,copyright*5:580fbb0,Jul 20 2020,15:57 54)MSC v.1924 64 bit,“credits or*license()*for more information.末尾不换行,添加C 1=1 2 X 1=2 2 X X 4=16 5 X 1=5 5 X X 4-24 6 X 5-30 6 7 X 7=49 8 X 1=8 8I 9 X 1=9 9 X 2=18=RE START:C:/Users/A/Desktop/a.py=2=43X1=33X2=63X3=94X1=44X2=84X
24、3=12 2=10 5 X 3=15 5 X 4=20 5 X 5=25 6 X 1=6 6 X 2=12 6 X 3=1X 6=36 7 X 1-7 7 X 2-14 7 X 3-21 7 X 4=28 7 X 5-35 7X6=X 2=16 8 X 3-24 8 X 4=32 8 X 5=40 8 X 6=48 8 X 7=56 8X8 9 X 3=27 9 X 4=36 9 X 5=45 9 X 6=54 9 X 7=63 9 X 8=72 9 X空格【详解】本题主要考查Python程序的执行与调试。(1)在第一行程序中(fo门in range。,10):),变量i的数据范围为1到9。(
25、2)同理,在第二行的程序中(forj in ranged,i+1):),变量j 的数据范围为1到i。(3)如果d表示十进制数,那么nd则表示n位宽的十进制数,%2d则表示2位宽的十进制数。(4)第三行程序改为print(%d X%d=%2d%(i,j,i*j),end=a.py-C;/Uer5/A/Dsktop/a.py(S.8.5)一 口File Edit Format Run Options Window Help for i in range(1,10):j range(1,i+1):print(w%d X%d=%2d%(i,j,i*j),end=)Python 3.8.5 Shell-
26、XFile Edit Shell Debug Options Window Helpii j 则本题的11 j玄Python 3.8.5(tags/v3.8.5:580fbb0,Jul 20 2020,15:57:54)MSC v.1924 64 bit(AM jType help,copyright,credits or license。”for more information.=RESTART:C:/Users/A/Desktop/a.py=1X 1=12X 1=22X 2=43X 1=33X 2=63X 3=94X 1=44X 2=84X 3=124 X 4=16 5 X 1=5 5
27、X 2=10 5 X 3=15 5 X 4=20 5 X 5=25 6 X 1=6 6 X 2=12 6 X 3=18 6 X 4=24 6 X 5=30 6 X 6=36 7 X 1=7 7 X 2=14 7 X 3=21 7 X 4=28 7 X 5=35 7X6=42 7 X 7=49 8 X 1=8 8 X 2=16 8 X 3=24 8 X 4=32 8 X 5=40 8 X 6=48 8 X 7=56 8X8=64 9 X 1=9 9 X 2=18 9 X 3=27 9 X 4=36 9 X 5=45 9 X 6=54 9 X 7=63 9 X 8=72 9 X 9=81 I与j的
28、位置进行了交换,如1X2=2变为2X1=2。(5)如果最后一行的print。表示换行,那 么end=的功能是末尾不换行,添加空格。4.参考答案1:for i in range(2,10 1):j=2while j=i:if i%j=0:breakj+=lif ji:continueelse:print(i,end=)参考答2for i in range(2,10 1):for j in range(2,i):if(i%j=O):breakelse:print(i)【详解】本题考查是Python语言编程解决问题。break语句可以立即终止当前循环的执行,跳出当 前所在的循环结构。无论是while
29、循环还是for循环,只要执行break语句,就会直接结束 当前正在执行的循环体。这就好比在操场上跑步,原计划跑1。圈,可是当跑到第2圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break语句 提前终止了循环。答案中代码的实现过程见下图:参考答案1:rne tan rorrnat nun l f i i range(2,101):j=2 i j=i:if i%j=0:breakjF if j=RESTART:E:/罗海燕 上课/A罗海燕 高中/27.py=:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7
30、1 73 79 83 89 97 I参考答案2:3k py.rAJsers/dell/Desktop/l.py(3.8.5)File Edit Format Run Options Window Help Xfor i in range(2,101):for j ir range(2,i):-(i%j=0):break-ise:print(i)金 Python 3.8.5 ShellFile Edit Shell Debug Options Window HelpPython 3.8.5 7tags/v3.8.5:580fbb0,Jul 20 2020,15:57:54)D64)on Win3
31、 2”“”“Type help,copyright,credits or license。”for mor,R ESTAR T:C:/Users/dell/Desktop/1.py1113171923293 13 74 14 34 7535961677173798389975.s+i【详解】本题主要考查Python循环结构。题目要求计算1、6、1L.101等差数列之和,其中公差为 5,因此为5;s变量用于记录等差数列之和,需进行累加计算,因此为s+i。【点睛】6.A A s-max-min【详解】本题主要考查Python程序的执行与调试。在引用tkinter模块进行界面设计的过程中,窗 体中录
32、入评委打分的对象是由Entry控件生成的(Entry是T kinter用来接收字符串等输入的 控件,该控件允许用户输入一行文字),故选A选项。题目中算法描述采用的是伪代码,故选A选项。从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分 aver作为选手的最终得分,故此处填s-max-min。7.range。,33)g+m+x=10 0 5*g+3*m+x/3【详解】本题考查的是算法中的经典问题。百鸡百钱问题是典型的枚举算法解决,枚举算法的关键 就是找到问题解决的条件和枚举范围。品 1.py-C:/Users/dell/Desktop/1.py(3.8.5)File Edit
33、Format Run Options Window Helpfo:g range(1,20):m iii range(1,33):。x range(3,98,3):g+m+x=10 0 U 5*g+3*m+x/3=10 0:print(公鸡:,g,母鸡:,m,小盒,x)j|.Python 3.8.5 ShellFile Edit Shell Debug Options Window HelpPython 3.8.5(tags/v3.8.5:580 fbb0,Jul 20 20 20,15:57:54)MSCD64)“on Win32T ype help,copyright,credits“or
34、 license 0 for more ini=R EST AR T:C:/U sers/dell/Desktop/1.py=公鸡:4母鸡:18小鸡:78公鸡:8母鸡:11小鸡:81公鸡:12母鸡:4小鸡:84 I8.suml=0 sum2=0 for i in range。,10 1):if i%2=0:suml+=ielse:sum2+=iprint(suml/sum2)【详解】本题主要考查程序设计。可以使用Python程序设计语言实现题干要求,通过if条件分支结 构可以实现分别计算奇数的和、偶数的和,具体代码如下:suml=0 sum2=0 for i in range(lz10 1):
35、if i%2=0:suml+=ielse:sum2+=iprint(suml/sum2)9.str=input(请输入要转换成大写的数据:)c=len(str)for i in range(0,c):print(stri.upper()/end=)【详解】本题主要考查程序设计。题干要求可使用Python程序设计实现,通过upper函数可以将输 入数据转换成大写并输出,具体代码如下:str=input(请输入要转换成大写的数据:)c=len(str)for i in range(0,c):print(stri.upper()/end=)10.a=int(input(请输入数 a:)b=int(i
36、nput(请输入数 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=aa=bb=tprint(用户输入的数按小到大排序结果是:,a,b)else:print(原样输出,a,b)11.s=lfor i in range(9):s=(s+l)*2print(s
37、)【详解】本题主要考查Python程序设计。第10天,只剩下一个桃子s=l,由题干每天早上都吃了前 一天剩下的一半零一个,则第9天剩下的桃子为(s+l)*2,可以通过for循环求得第一天共摘 了多少个桃子,具体代码如下:s=lfor i in range(9):s=(s+l)*2print(s)12.for i in range(1,10 0):if i 1:for j in range(2J):if(i%j)=0:breakelse:print(i)【详解】本题主要考查Python程序设计。可以通过foi循环找出100以内的素数,用i依次整数2i-1,如果能整除表明i不是素数,否则i为质数,
38、具体代码如下:for i in range。,100):if i 1:for j in range。,i):if(i%j)=0:breakelse:print(i)13.for i in range(l/10):for j in range(lj+l):print(str(j)+*+str(i)+=+str(i*j),end=)printf)【详解】本题主要考查Python程序的执行。九九乘法口诀表可以通过嵌套for循环实现,内层循环 完一次,执行print)换行,具体代码如下:for i in range。,10):for j in range(l,i+l):print(str(j)+*+s
39、tr(i)+=+str(i*j),end=)print()14.0.0 325,0.0 3,0.0 3,0.0 2,0.0 175 i in rate:(没有冒号算错误)money=round(money*(1+i),2)10 0 0 0 0 0 money。或 money=0money=round(money*l,0 37-20 0 0 0,2)year=year+l【详解】本题主要考查Python程序语句。此处是变量money的初始化,有5万元资金存入银行,故填50000。5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填 0.0 325,0.0 3,0.0
40、3,0.0 2,0.0 175o 通过 for 循环,从 rate 数组中取值,故填 i in rate:(没有冒号算错误)。调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。购买了 10万元一年期收益率3.7%的银行保证收益 型理财产品,故money的初始值为100000,故填100000。year的初始值也为0,故填 0o循环条件是money大于。或大于等于0,故填money。或money=0。收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(mon
41、ey*l.0 37-20 0 0 0,2)o循环变量是 year,此处year递增进入下一轮循环,故填year=year+l。15.c=0print(能同时被3或5整除的数是:,end=)for i in range(lz10 1):if i%3=0 and i%5=0:c+=lprint(i/end=)printf)print(能同时被3或5整除的个数是:+str(c)【详解】本题主要考查Python程序设计。设计100以内的数中能同时被3或5整除的个数,使用for循环变量i的范围是从r99,用变量c统计能同时被3或5整除的个数,如果满足if判断条件,则变量c递增,循环完输出c的值,具体代码
42、及运行结果如下:加&计io。以内的数中能同时被m或5整除的i劫c=0print。能同时极3或5整除的数是:,end=)i.range(1,100):-i%3=0 d i%5=0c+=lprint(i,end=).print()jprintC1能同时被3或5整除的个数是:”+str(c)俗 Python 3.8.2 Shell XFile Edit Shell Debug Options Window HelpPythorraT sT Ctags/vS277b3ab59r Feb 25 20 20 23:o-3;io)MSC v.1916 64 bit(AM D64)on Win32T ype
43、help,copyright,credits or license。for more information.=R EST AR T:C./U sers/Michael/Desktop/Python程序/设计 10。以内的数中能同时被3或5 整除的个数.py=能同时被3或5整除的数是:15 30 45 60 75 90能同时被3或5整除的个数是:616.形参 分支结构(选择结构)if条件中的return语句改为return print(money,$=,money*6.50 5,人民币),其他 elif 语句类似【详解】本题主要考查Python程序执行与调试。分析代码可知,参数currency
44、指:形参。由代 码可知,该程序用了条件分支结构。若输出结果是50$=325.25人民币,则需将if条件 中的 return 语句改为 return print(money,$=,money*6.50 5,人民币),其他 elif 语句类似。17.34 或moneyhen_price+l 101 money/threechick_price+l chick_num*3【详解】本题主要考查Python程序执行与调试。母鸡只数可能为1-33,对比最外层循环范围,第 一空填34或moneyhen_price+l。小鸡只数可能为1-10 0,同理第二空填101或 money/threechick_pri
45、ce+lo公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故第 三空填 chick_num*3018.-b/(2*a)【详解】本题主要考查Python程序执行与调试。delta大于0,方程有两个不同的解,delta等于 0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。delta=0,则方程有两 个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。19.c 5【详解】本题主要考查Python程序执行与调试。第一个人38岁,n标记第儿个人,变量c保存年 龄,当n=l时,c=38,故第一空填38。后面的人都比前一个人小3岁,故当n不等于1 时,调用递归函数age,c=ag
46、e(n-1)-3,最后返回第n个人的年龄c,第二空填c。此处 是返回第5个人的年龄,即age(5),填5。20.maxi arrli maxi【详解】本题主要考查Python程序执行与调试。变量maxi用来保存数组的最大值,初始值赋值为 最小值-32768,第一空填maxi,通过for循环依次比较当数组元素大于maxi时,更新 maxi的值为该元素继续循环直到与所有元素比较完,第二空填arrli,最后输出最大值是 maxi,故第三空填maxi。21.1ist32 listl1:4 Iist2=list2+list4 或 list2.extend(list4)listl=listl+“塑料瓶”或
47、者 listl.append(“塑料瓶”)【详解】本题主要考查Python列表数据类型。“过期食品”在列表list3索引2,故从列表Iist3 中取出“过期食品”的表达式:list3。”旧书,金属,纸板箱在列表listl索引 广3,从listl中截取口日书,金属,纸板箱这一段的表达式:listl 1:4(不包括4)。将该列表中的元素添加到Iist2中,表达式是Iist2=list2+list4或list2.extend(list4)0(extend()函数用于在列表末尾一次性追加另一个序列中的多个 值(用新列表扩展原来的列表)。将塑料瓶添加到列表listl中:listl=listl+“塑料 瓶
48、或者listl.append(塑料瓶)(append字符追加函数)。22.i%j=0 t=i t=t/10【详解】本题主要考查Python程序执行与调试。此处是处理从2开始到i开方加1,若能整除i则 表明i不是素数,否则直到循环结束,表明i是素数,故此处填i%j=0。若i是素数,则 将变量i赋给变量t,并通过while循环将t的每一位取出来并加到summ中,故此处填 t=io同理此处取出个位数后,更新t的值继续循环,故此处填t=t10。23.自然语言确保m=n r!=0【详解】本题主要考查算法及Python程序实现。描述一是自然语言描述法;描述二是流程图描述 法;描述三是计算机程序语言描述法。
49、在描述三中代码4到6行,当成n时一,交换m、n 的值,否则跳过,故作用是确保m=n。由题干可知,循环条件是余数r不等于0,故代 码第8行划线处为r!=0。24.D n=len(password)ch=passwordi x=nl+n2+n3【详解】本题主要考查Python程序的执行与调试。12abcd5!”含有三类字符,则输出结果为 强,选D选项。此处取密码的长度,将其赋给变量n,len()是返回字符串的长度,故填 n=len(password)och是取密码的每一位进行判断,故此处填ch=passwordi。当出现数 字时nl=l,当出现字母时n2=l,当出现其他字符时n3=l,x用来统计有
50、几类字符,故此处 填 x=nl+n2+n3o25.+-*/b=0 str(c)【详解】本题主要考查Python程序执行与调试。变量fh用来接收运算符,由代码iffhins”可 知,变量s保存加减乘除(+-*/)四种运算符,故此处填+-*/。变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的 情况,故填b=0。变量c保存运算结果,此处输出c的结果,故填str(c)。26.n=10 m=m+(n*(le-2-i)*a t=convert(sl)-24D【详解】本题主要考查Python程序的执行与调试。二进制的权值是2,十进制的权值是10,十六 进