青少年编程能力等级测评考生Python编程二级1练习.docx
《青少年编程能力等级测评考生Python编程二级1练习.docx》由会员分享,可在线阅读,更多相关《青少年编程能力等级测评考生Python编程二级1练习.docx(29页珍藏版)》请在冰点文库上搜索。
青少年编程能力等级测评考生Python编程二级1练习
青少年编程能力等级测评考生∶Python编程二级1练习
一、选择题
1.队列在Python中,用()实现队列的创建,队列的基本操作:
()()()()线性数据结构又称线性表。
A.随机;入队;出队;求队长;判队空B.列表;入队;出队;求队长;判队空
C.列表;随机;出队;求队长;判队空D.入队;随机;列表;求队长;判队空
2.Python中print(66!
=66)结果是()。
A.1B.0C.TrueD.False
3.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1)B.x,y=y,xC.x=1;y=1D.x=y=1
4.小林编写一段文件读写操作代码,文件如图,代码段如下:
file=open('ceshi.txt','w')
file.write("pythonisaprogramminglanguage.")
file.close()
file=open('ceshi.txt','r')
print(file.read())
该代码段运行后,输出的结果为()
A.IADistributedSystemBasedonPython.
B.pythonisaprogramminglanguage.
C.IADistributedSystemBasedonPython.pythonisaprogramminglanguage.
D.程序编译错误,不会输出结果
5.在Python中,显示出信息x,并要求输入数据的是()。
A.abs(x)B.float(x)C.print(x)D.input(x)
6.在python中,想输出一行文字,要用到的函数是()。
A.input()B.int()C.print()D.float()
7.为了提高程序的可读性,可以在该语句后面添加注释语句,Python程序中用作注释的标识符是()
A.:
B.#C.,D.!
8.已知字符串变量x的值是“H”,字符“A”的ASCII值是65,则python表达式chr(ord(x)+2)的值是()
A.‘I’B.‘J’C.73D.74
9.下列不是Python中所有循环必须包含的是()。
A.冒号B.循环次数C.循环体D.缩进
10.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为()
A.=B.==C.:
=D.<>
11.在下列程序设计语言中,属于人工智能语言的是()。
A.Python
B.VB
C.Pascal
D.C
12.在PythonIDLE编辑器中书写正确的表达式()
A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r
13.运行下列Python程序,结果正确是()
a=32
b=14
c=a//b
print(c)
A.2.2B.2C.“2”D.4
14.在Python中要交换变量a和b中的值,应使用的语句组是()。
A.a,b=b,aB.a=c;a=b;b=c
C.a=b;b=aD.c=a;b=a;b=c
15.有python程序如下
a=int(input())
b=int(input())
c=input()
ifc=='+':
print(a+b)
elifc=='-':
print(a-b)
elifc=='*':
print(a*b)
elifc=='/':
print(a/b)
else:
print(“输入错误,请重试”)
当程序运行后,小新依次输入92*
程序输出结果应为()
A.18B.11C.7D.4
16.下面的Python程序段运行后的输出结果是()
x=3
ifx%2==0:
print(x,"是偶数。
")
else:
print(x,"是奇数。
")
A.3是奇数B.x,"是偶数"C.x,"是奇数"D.3是偶数
17.现有如下python程序段:
foriinrange(6):
p.append(int(random()*10)+1)
foriinrange(2,6):
ifi%2==1andp[i]%2==0:
p[i]+=p[i-1]
elifi%2==0andp[i]%2==1:
p[i]-=p[i-1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1,2,3,4,7,2
B.1,2,14,-9,-5,8
C.6,8,1,4,6,10
D.6,4,14,-7,3,8
18.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是()
A.设计出解决问题的算法B.设计出解决问题的PPT
C.编写出Python代码D.选择一种编程软件
19.小林同学想要利用Python来编写一道程序,解决“1+2+3+……+100”这个问题,那么小林同学在编写程序的过程中可能会用到哪些语句()
A.赋值语句
B.循环语句
C.条件语句
D.输出语句
20.韦沐沐同学利用Python软件编写“求能被3整除的数”程序,在设计算法环节,使用流程图描述算法,如右图所示,其中空白处可以填入的是()
A.A÷3==0B.A/3==0C.A\3==0D.A%3==0
21.要利用Python通过数组绘制拟合曲线图,必须要用到的外部库是()
A.time库
B.random库
C.turtle库
D.matplotlib库
22.在Python中,字符串运算符“+”的作用是把字符串进行连接,则表达式"20"+"19"+"20+19"的运算结果是()
A.392019B.201939C.201920+19D.3939
23.有如下python程序段:
a=[4,5,3,6,7,8,2,9,1]
m,c=1,1
foriinrange(1,len(a)):
ifa[i]>=a[i-1]:
c+=1
m=max(m,c)
else:
c=1
print(c,m)
则程序执行后,c和m的值分别是()
A.1和1B.1和4C.2和4D.3和4
24.关于Python语句P=–P,以下选项中描述正确的是()
A.P和P的负数相等B.P和P的绝对值相等
C.将P赋值为它的相反数D.P的值为0
25.下列Python程序段的运行结果是()
i=0
sum=0
whilei<10:
ifi%2==0:
sum+=i
i+=1
print(‘sum=’,sum)
A.sum=18B.sum=20C.sum=22D.sum=30
26.在Python语言中,数据的输入是通过( )来实现的。
A.input()函数B.print()函数
C.output()函数D.abs()函数
27.如下Python程序段
x=2
print(x+1)
print(x+2)
运行后,变量x的值是()
A.2B.3C.5D.
28.已知字符串a="python",则a[1:
3]的值为()
A."pyth"B."pyt"C."py"D."yt"
29.python中,表达式5%2=()。
A.2.5B.2C.1D.0
30.小王编写了出租车收费的python程序,代码如下:
s1=float(input('请输入行驶路程(公里):
'))
ifs1<=3:
f=10
elifs1<=10:
f=10+2.5*(s1-3)
else:
f=27.5+3.5*(s1-10)
print(f)
要测试所有分支程序代码是否正确,以下测试数据中,最恰当的一组是()
A.3,8B.-1,5,12
C.1,6,20D.3,12,20
二、程序填空
31.编写Python程序实现如下功能:
输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。
判断这一天是这一年的第几天。
以2021-06-21为例,前面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(s[5:
7])
①
sum=0
foriinrange(②):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if③
sum+=1
print("这一天是当年的第"+str(sum)+''天'')
32.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:
1**3+5**3+3**3=153。
这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。
需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print("三位数之内的水仙花是:
")
forxin_____:
b=x//100
s=_____
g=_____
ifx==(b**3+s**3+g**3):
_____
33.小强开展网上直播售货,为此购买了以下直播硬件设备:
①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器
请回答下列问题:
(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号)
(2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:
1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:
能/不能)满足直播要求。
请列式证明__________。
(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。
流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数)
图a
(4)为了快速了解各类别商品的利润,小强用python编程处理。
处理的结果界面如图b所示。
部分代码如下,请在①②划线处填写合适的代码。
图b
importpandasaspd
importnumpyasnp
importmatplotlib.pyplotasplt
detail=pD.read_excel(___)
print(detail)
foriinrange(len(detail[:
])):
ifdetail[‘成交与否’][i]==1:
detail[‘lirun’]=___
dg=detai1[[‘类别’,‘lirun’]].groupby(by=‘类别’)
print(“总利润”,detail[‘lirun’].sum())
’数据可视化代码略
34.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。
它是已知最古老的算法,其可追溯至公元前300年前。
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。
因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。
小曲设计了辗转相除法的算法,请根据下面算法回答问题。
描述一
描述二
描述三
①输入两个正整数m,n(m>n);
②计算m除以n所得的余数r;
③m=n,n=r;
④若r=0,则m,n的最大公约数等于m;否则转到步骤②;
⑤输出最大公约数m;
⑥结束。
(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是__________。
(3)在描述三程序设计中,补充代码第8行划线处为__________。
35.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo={‘小明’:
‘巨蟹座’,‘小红’:
‘处女座’,‘小兰’:
‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
36.完善代码并保存。
实现功能:
从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
foriinrange(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj),min(________))
input("运行完毕,请按回车键退出...")
37.求100以内素数。
38.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
39.编写程序。
信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。
40.程序编写
求1+22+32+……+1002的结果
_______________________________
_______________________________
_______________________________
_______________________________
input(“运行完毕,请按回车键退出...”)
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.B
【详解】
本题考查数据结构相关知识。
在Python中,用列表实现队列的创建,队列的基本操作:
入队,出队,求队长,判队空线性数据结构又称线性表。
因此B选项正确。
【点睛】
解析:
B
【详解】
本题考查数据结构相关知识。
在Python中,用列表实现队列的创建,队列的基本操作:
入队,出队,求队长,判队空线性数据结构又称线性表。
因此B选项正确。
【点睛】
2.D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
3.A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
解析:
A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
4.B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后
解析:
B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后,输出的结果为pythonisaprogramminglanguage.,故本题选B选项。
5.D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
6.C
【详解】
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,
解析:
C
【详解】
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,故选项B错误;print是输出函数,故选项C正确;float用于将整数和字符串转换成浮点数,故选项D错误。
7.B
【详解】
本题主要考查Python程序注释知识点。
Python程序中用作注释的标识符是“#”,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序注释知识点。
Python程序中用作注释的标识符是“#”,故本题选B选项。
8.B
【详解】
本题主要考查Python字符函数。
ord函数用于将字符转换为整数,chr函数接受一个数字(应为ASCII码)并返回字符。
则python表达式chr(ord(x)+2)=chr(ord
解析:
B
【详解】
本题主要考查Python字符函数。
ord函数用于将字符转换为整数,chr函数接受一个数字(应为ASCII码)并返回字符。
则python表达式chr(ord(x)+2)=chr(ord(H)+2)=chr(74)=‘J’,故本题选B选项。
9.B
【详解】
本题主要考查Python循环结构。
Python中所有循环必须包含的是冒号、循环体、缩进。
不是Python中所有循环必须包含的是循环次数,可能是while循环条件,故本题选B选项。
解析:
B
【详解】
本题主要考查Python循环结构。
Python中所有循环必须包含的是冒号、循环体、缩进。
不是Python中所有循环必须包含的是循环次数,可能是while循环条件,故本题选B选项。
10.B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
解析:
B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
11.A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
解析:
A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
12.D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:
D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
13.B
【详解】
本题主要考查Python程序运行。
a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序运行。
a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。
14.A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
解析:
A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
15.A
【详解】
本题考查Python程序段。
当程序运行后,小新依次输入92*,即a=9,b=2,c=*,则elifc==‘*’:
成立,执行print(a*b),结果为18,故本题选A。
解析:
A
【详解】
本题考查Python程序段。
当程序运行后,小新依次输入92*,即a=9,b=2,c=*,则elifc==‘*’:
成立,执行print(a*b),结果为18,故本题选A。
16.A
【详解】
本题主要考查Python程序的执行。
x=3,3%2=1,故输出3是奇数,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
x=3,3%2=1,故输出3是奇数,故本题选A选项。
17.BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:
BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值