1、编程】青少年编程等级考试Python编程二级试卷1 一、选择题 1.小新编制了一种python程序如下,但程序无法执行,你帮他找出程序中一共有几处错误( ) 1a=3 b=input() c=a+b print("c") A.1 B.2 C.3 D.4 2.下面Python程序段运行后输出成果是( ) x=3 if x%2==0: print(x, "是偶数。") else: print(x, "是奇数。") A.3是奇数 B.x, "是偶数" C.x, "是奇数" D.3是偶数
2、 3.有关Python语句P = –P,如下选项中描述对是( ) A.P和P负数相等 B.P和P绝对值相等 C.将P赋值为它相反数 D.P值为0 4.有如下 VB 程序段: s1 = "python": s2 = "visual" i = 1: j = 1: s = "" Do While i <= Len(s1) And j <= Len(s2) If Mid(s1, i, 1) >= Mid(s2, j, 1) Then s = s + Mid(s1, i, 1) Else j = j + 1 End If i = i + 1 Loop 执行该程
3、序后,j值是( ) A.2 B.3 C.5 D. 7 5.队列在Python中,用( )实现队列创立,队列基本操作:( )( )( )( )线性数据构造又称线性表。 A.随机;入队;出队;求队长;判队空 B.列表;入队;出队;求队长;判队空 C.列表;随机;出队;求队长;判队空 D.入队;随机;列表;求队长;判队空 6.下列有有关print命令描述中,对是( ) A.在打印机里打印有关文本或者数字等 B.可以用来画图 C.在屏幕中输出对应文本或者数字等 D.执行语句print(“python”,3.7)时会出错 7.在python中,运行下列程序,对成果是( )。
4、 A.i=4 s=10 B.i=5 s=10 C.i=5 s=15 D.i=6 s=15 8.在python中运行print(“3+6”)成果是( )。 A.9 B.“3+6” C.3+6 D.“9” 9.Python语言自带IDLE环境退出命令是( ) A.Esc B.close C.回车键 D.exit 10.在Python中,显示出信息x,并规定输入数据是( )。 A.abs(x) B.float(x) C.print(x) D.input(x) 11.根据Python中变量命名遵照规则,对是( ) A.char21 B.Py C.Python D.na
5、me.ch 12.下列哪个语句在Python中是非法?( ) A.x=y=z=1 B.x=(y=z+1) C.x,y=y,x D.x+=y 13.在Python中print(8+7%2**2)执行成果是( ) A.5 B.1 C.6 D.11 14.Python中print(66!=66)成果是( )。 A.1 B.0 C.True D.False 15.Python输入函数为( )。 A.time() B.round() C.input( ) D.print() 二、程序填空 16.学校气象小组使用自动测温仪在校园测量了1月12日气温,并运用Python
6、绘制了这天气温图,该图如下所示: (1)在以上Python程序中,变量Y数据类型是_________。 (2)在以上Python程序中,第8行横线处代码是_________。 (3)通过观测,气温釆样间隔时间是_________个小时。 17.密码强度检测。编写python程序,实现如下功能:输入要检测密码,输出密码强度成果。密码字符分为数字字符、字母和其他符号三类。密码强度检测措施为:若密码位数少于8位,则不进行强度检测,给出提醒“密码位数不能少于8位,请重新输入!”。若密码位数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不一样二
7、类字符,则密码强度为“中等”;若密码字符属于不一样三类字符,则密码强度为“强”。 (1)若输入“12abcd5!”,则输出成果为_________(选填,选字母:A.密码位数不能少于8位,请重新输入! / B.弱 / C.中等 / D.强) (2)实现上述功能程序如下,请在划线处填入合适代码。 password=input(“请输入要检测密码:”) ①_______________ if n<8: print(“密码位数不能少于8位,请重新输入!”) else: n1=0 n2=0 n3=0 for i in range(0,n,1
8、 ②_______ if “0”<=ch<=“9”: n1=1 elif “a”<=ch<=“z” or “A”<=ch<=“Z”: n2=1 else: n3=1 ③_____ if x==3: print(“强”) elif x==2: print(“中等”) else: print(“弱”) 18.已知6月份10位技术考试成绩: 1 2 3 4 5 6 7 8 9 10
9、 78 88 89 90 83 76 75 98 100 65 技术老师想记录出80分(含80)以上人数,请完善程序,代码如下: a=[78,88,89,90,83,76,75,98,100,65] ______ sum=0 for i in range(n): if a[i]>=80: ________ print(sum) 执行上述程序段后,输出内容是______ 19.“百鸡百钱”问题是一种有名数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问
10、公鸡、母鸡和小鸡各多少只? 打开文献“考生文献夹\644\百鸡百钱.py”,完善程序实现如下功能并保留。 (1)请不要更改源程序构造,删除原题里①、②、③。填写对代码,使程序完善。 (2)运行程序,运行成果如图所示。 # 请不要更改源程序构造,删除原题里①、②、③。填写对代码,使程序完善 money=100 #一共100文钱 num=100 #一共100只鸡 cock_price=5 #公鸡价格5文 hen_price=3 #母鸡价格3文 threechi
11、ck_price=1 #3只小鸡1文 for cock_num in range(1,money//cock_price+1): #公鸡只数也许为1-20 for hen_num in range(1,①________): #母鸡只数也许为1-33 for chick_num in range(1,②________): #(3小鸡)只数也许为1-100 money1=cock_num*cock_price+hen_num*he
12、n_price+chick_num*threechick_price num1=cock_num+hen_num+chick_num*3 if money1==money and num1==num: print (cock_num,hen_num,③________) #(③小鸡数) input("运行完毕,请按回车键退出...") 20.输入一行字符,分别记录出其中英文字母、空格、数字和其他字符个数。 21.程序编写 求1+22+32+……+1002成果 _______
13、 _______________________________ _______________________________ _______________________________ input(“运行完毕,请按回车键退出...”) 【参照答案】***试卷处理标识,请不要删除 一、选择题 1.C 【详解】 本题考察Python程序语法 Python变量命名不能以数字开头、变量b、c必须先定义后使用。故有3处错误,故本题选C选项 解析:C 【详解】 本题考察Python程序语法 Pytho
14、n变量命名不能以数字开头、变量b、c必须先定义后使用。故有3处错误,故本题选C选项 2.A 【详解】 本题重要考察Python程序执行。x=3,3%2=1,故输出3是奇数,故本题选A选项。 解析:A 【详解】 本题重要考察Python程序执行。x=3,3%2=1,故输出3是奇数,故本题选A选项。 3.C 【详解】 本题重要考察Python语句。P = –P是赋值语句,将P赋值为它相反数,故本题选C选项。 解析:C 【详解】 本题重要考察Python语句。P = –P是赋值语句,将P赋值为它相反数,故本题选C选项。 4.C 【详解】 本题重要考察VB程序执行。分析程
15、序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2每一种字符,若s1中字符不小于或等于s2中字符,则将s1中对应字 解析:C 【详解】 本题重要考察VB程序执行。分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2每一种字符,若s1中字符不小于或等于s2中字符,则将s1中对应字符拼接到变量s中,否则变量j递增。第一遍循环,i=1,j=1,“p”<“v”,j=j+1=2,i=i+1=2;第二遍循环,“y”>“i”,i=i+1=3;第三遍循环,“t”>“i”,i=i+1=4;第四遍循环,“h”<“i”,j=j+1=3,i=i+1
16、5;第五遍循环,“o”<“s”,j=j+1=4,i=i+1=6;第六遍循环,“n”<“u”,j=j+1=5,i=i+1=7,循环结束,故执行该程序后,j值是5,故本题选C选项。 5.B 【详解】 本题考察数据构造有关知识。在Python中,用列表实现队列创立,队列基本操作:入队,出队,求队长,判队空线性数据构造又称线性表。因此B选项对。 【点睛】 解析:B 【详解】 本题考察数据构造有关知识。在Python中,用列表实现队列创立,队列基本操作:入队,出队,求队长,判队空线性数据构造又称线性表。因此B选项对。 【点睛】 6.C 【详解】 本题重要考察print函数。pri
17、nt命令在屏幕中输出对应文本或者数字等,执行语句print(“python”,3.7)成果是python 3.7,故本题选C选项。 解析:C 【详解】 本题重要考察print函数。print命令在屏幕中输出对应文本或者数字等,执行语句print(“python”,3.7)成果是python 3.7,故本题选C选项。 7.A 【详解】 本题重要考察Python程序执行。for i in range(1,5)可知变量i范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。 解析:A 【详解】 本题重要考察Python程序执行。for i in range
18、1,5)可知变量i范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。 8.C 【详解】 本题考察是python中print函数。print(str)#str是任意一种字符串,数字等。“3+6”是字符串故输出为:3+6,选项C对。 解析:C 【详解】 本题考察是python中print函数。print(str)#str是任意一种字符串,数字等。“3+6”是字符串故输出为:3+6,选项C对。 9.D 【详解】 本题重要考察Python基本知识。Python程序设计语言默认安装时,会有一种自带集成开发环境IDLE。要创立Python程序文献,可以运用
19、IDLE中“文献“菜单。可使用exit( 解析:D 【详解】 本题重要考察Python基本知识。Python程序设计语言默认安装时,会有一种自带集成开发环境IDLE。要创立Python程序文献,可以运用IDLE中“文献“菜单。可使用exit()或quit()退出Python,因此D选项对。 【点睛】 10.D 【详解】 本题重要考察Python常用函数。abs(x)是返回x绝对值,float() 函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。 解析:D 【详解】 本题重要考察Python常用函数。abs(x)是返回x
20、绝对值,float() 函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。 11.A 【详解】 本题考察是Python变量名命名规则。Python中变量命名规则:由字母、数字、下划线构成,不能以数字开头,系统保留字不能作为变量名。故本题应选A。 解析:A 【详解】 本题考察是Python变量名命名规则。Python中变量命名规则:由字母、数字、下划线构成,不能以数字开头,系统保留字不能作为变量名。故本题应选A。 12.B 【详解】 本题重要考察Python程序语句。x=y=z=1(给变量x、y、z均赋值为1),x,y=y,
21、x(互换x和y值),x+=y等价于x=x+y,x=(y=z+1)是非法语句,故本题选B 解析:B 【详解】 本题重要考察Python程序语句。x=y=z=1(给变量x、y、z均赋值为1),x,y=y,x(互换x和y值),x+=y等价于x=x+y,x=(y=z+1)是非法语句,故本题选B选项。 13.D 【详解】 本题考察是Python体现式。**是幂次方优先级最高,%是求余。8+7%2**2=8+7%4=8+3=11,print是输出语句。故选项D对。 解析:D 【详解】 本题考察是Python体现式。**是幂次方优先级最高,%是求余。8+7%2**2=8+7%4=8+3=1
22、1,print是输出语句。故选项D对。 14.D 【详解】 本题重要考察Python体现式运算。体现式66!=66值为False,故print(66!=66)成果是False,故本题选D选项。 解析:D 【详解】 本题重要考察Python体现式运算。体现式66!=66值为False,故print(66!=66)成果是False,故本题选D选项。 15.C 【详解】 本题考察是Python函数。input( )是输入函数,print()是输出函数。故选项C对。 解析:C 【详解】 本题考察是Python函数。input( )是输入函数,print()是输出函数。故选项C对
23、 二、程序填空 16.list plt.plot(X,Y) 2 【详解】 本题重要考察Python程序调试与执行。①由代码Y=[6,4,4,3,3,6,9,12,12,11,9,7],可知变量Y数据类型是list(列表类型)。②scatter是绘制散点图函数,图中还需要使用绘图函数plot,故第8行横线处代码是plt.plot(X,Y)。③通过观测,气温釆样间隔时间是2个小时。 17.D n=len(password) ch=password[i] x=n1+n2+n3 【详解】 本题重要考察Python程序执行与调试。①“12
24、abcd5!”具有三类字符,则输出成果为强,选D选项。②此处取密码长度,将其赋给变量n,len()是返回字符串长度,故填n=len(password)。③ch是取密码每一位进行判断,故此处填ch=password[i]。④当出现数字时n1=1,当出现字母时n2=1,当出现其他字符时n3=1,x用来记录有几类字符,故此处填x=n1+n2+n3。 18.①n=len(a) sum+=1或sum=sum+1 6 【详解】 本题重要考察Python程序调试与执行。①变量n用来保留数组a长度,使用len函数,故此处填n=len(a)。②使用for循环记录出80分(含80)以上人
25、数,用变量sum记录满足条件人数,当满足if条件时,sum变量递增,故此处填sum+=1或sum=sum+1。③执行上述程序段后,sum=6,故输出内容是6。 19.34或 money//hen_price+1 101 或 money//threechick_price+1 chick_num*3 【详解】 本题重要考察Python程序执行与调试。①母鸡只数也许为1-33,对比最外层循环范围,第一空填34或 money//hen_price+1。②小鸡只数也许为1-100,同理第二空填101 或 money//threechick_price+1。③公鸡5文钱1只,母
26、鸡3文钱1只,小鸡3只1文钱,故第三空填chick_num*3。 20.s = input('input a string:') letter = 0 # 记录字母 space = 0 # 记录空格 digit = 0 # 记录数字 other = 0 # 记录其他字符 for c in s: if c.isalpha(): letter += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 el
27、se: other += 1 print("字母:",letter,"空格:", space,"数字:",digit,"其他字符:", other) 【详解】 本题重要考察程序设计。题干规定可通过Python程序实现,使用for循环、多条件分支构造。其中实现分别记录出其中英文字母、空格、数字和其他字符个数可通过函数isalpha、isspace、isdigit来判断记录,详细代码如下: s = input('input a string:') letter = 0 # 记录字母 space = 0 # 记录空格 digit = 0 # 记录数字 o
28、ther = 0 # 记录其他字符 for c in s: if c.isalpha(): letter += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: other += 1 print("字母:",letter,"空格:", space,"数字:",digit,"其他字符:", other) 21.total=0 #变量可任选(符合规则) for i in range(1,101): total=total+i*i #total=total+i**2 print(total) 【详解】 本题重要考察Python程序编写。①变量total用来记录最终计算成果,其初始值为0,故填total=0 #变量可任选(符合规则)。②求1+22+32+……+1002成果,用for循环构造,变量i范围是从1到100,故填for i in range(1,101):。③计算语句是total=total+i*i #total=total+i**2。④最终用print()函数输出计算成果total,故填print(total)。






