编程NCT全国青少年编程能力等级测试python三级练习.docx
《编程NCT全国青少年编程能力等级测试python三级练习.docx》由会员分享,可在线阅读,更多相关《编程NCT全国青少年编程能力等级测试python三级练习.docx(26页珍藏版)》请在冰点文库上搜索。
编程NCT全国青少年编程能力等级测试python三级练习
【编程】NCT全国青少年编程能力等级测试python三级练习
一、选择题
1.在Python中,下面程序段的输出结果是()
x=9
Print(“x=”,x+1)
A.9B.10C.x=9D.x=10
2.Python中print(66!
=66)结果是()。
A.1B.0C.TrueD.False
3.python3解释器执行not1and1的结果为()。
A.TrueB.FalseC.0D.1
4.在Python中print(8+7%2**2)的执行结果是()
A.5B.1C.6D.11
5.下列哪个语句在Python中是非法的?
()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
6.已知字符串a="python",则a[-1]的值为()
A."p"B."n"C."y"D."o"
7.在Python中,表达式(21%4)+5的值是()
A.2B.6C.10D.3
8.下列哪个语句在Python中是非法的?
( )
A.x=y=z=1B.x=(y=z+1)
C.x,y=y,xD.x += y
9.关于Python3.8基础知识的说法中,不正确的是()
A.支持中文做标识符
B.Python标识符不区分字母的大小写
C.Python命令提示符是>>>
D.命令中用到的标点符号只能是英文字符
10.下面Python代码运行后,a、b的值为()
a=23
b=int(a/10)
a=a-b*10
print(a,b)
A.232B.32C.320D.23
11.在python中,运行以下程序,结果应为()
a=5
b=7
b+=3
a=b*20
a+=2
a=a%b
print(a,b)
A.57B.2010C.227D.210
12.下列选项中,不属于Python语言基本数据类型的是()
A.str
B.int
C.float
D.char
13.有python程序如下:
S=input()
print(S*3)
运行后通过键盘输入6,则运算结果是()
A.666B.SSSC.18D.S*3
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中的数据类型float表示()
A.布尔型B.整型C.字符串型D.浮点型
16.下面的Python程序段运行后的输出结果是()
x=3
ifx%2==0:
print(x,"是偶数。
")
else:
print(x,"是奇数。
")
A.3是奇数B.x,"是偶数"C.x,"是奇数"D.3是偶数
17.下列选项中,可作为Python变量名的是()
A.intB.AbcC.floatD.Complex
18.运行下列Python程序,结果正确是()
a=32
b=14
c=a//b
print(c)
A.2.2B.2C.“2”D.4
19.以下Python代码的运行结果是()。
a=3
b=4
a=a*b
print(a)
A.3B.4C.12D.a*b
20.下面哪个不是Python合法的标识符()
A.int_3B.30XLC.selfD._abc
21.Python中,可以输出helloworld的是()
A.printf(“helloworld”)
B.output(“helloworld”)
C.Print(“hello+world”)
D.print(“helloworld”)
22.下列不可以用来搭建本地服务器的软件是()
(1)Python
(2)Excel(3)IIS(4)Apache
A.
(1)
(2)B.(3)(4)C.
(1)
(2)(3)(4)D.
(1)
(2)(4)
23.计算机能直接接收和执行的程序设计语言为()
A.VisualBasic语言B.Python语言C.机器语言D.自然语言
24.以下是猜数游戏的Python程序,请你补全代码:
请选择适当的代码填入程序①处。
()
A.forB.printC.elifD.input
25.在python中,下列哪个选项是正确的赋值语句()
A.5s=80B.2018=xC.a+b=cD.s=s+5
26.设a=2,b=5,在python中,表达式a>bAndb>3的值是()
A.FalseB.TrueC.-1D.1
27.在Python中,设a=2,b=3,表达式a>bandb>=3的值是()
A.1B.-1C.TrueD.False
28.以下对Python程序缩进格式描述错误的选项是()
A.不需要缩进的代码顶行写,前面不能留空白
B.缩进可以用tab键实现,也可以用多个空格实现
C.严格的缩进可以约束程序结构,可以多层缩进
D.缩进是用来格式美化Python程序的
29.下列哪条赋值语句在Python中是非法的:
()
A.X=Y=Z=1B.X=(Y=Z+1)C.X,Y=Y,XD.X+=Y
30.下列选项中,属于Python输入函数的是()。
A.random()B.print()C.Cout()D.input()
二、程序填空
31.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到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=[]
foriinrange(0,13):
if___
a.append(int(s[i]))#append()函数用于在列表末尾添加新的对象
sum=0
foriinrange(0,9):
____
sdm=sum%10
___
ifsdm==ydm:
print("正确")
else:
print("错误")
32.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。
下面的程序能实现上述的功能,请将缺失的代码补充完整。
total=every_year=20000
year=1
while__________________:
every_year+=____________
total+=every_year
year+=1
print(year)
33.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。
编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[]
foriinrange(100,1000):
if_____________:
a.append(i)
total+=1
print("这群小朋友总的人数有:
")
forjinrange(len(a)):
print(____,end='、')
print('')
print('可能情况数为:
',total,'种')
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
34.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
35.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
A.left=midB.right=midC.left=mid+1D.right=mid-1
36.程序设计:
键盘输入任意的正整数,程序输出与其相应的二进制数。
代码如下:
n=int(input("请输入一个十进制数:
"))
result=[]
whilen>0:
result.append(①)
n=②
result.reverse()
foriinresult:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
(2)程序代码中②处可能的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
37.输入n,计算s=1!
+2!
+...+n!
的未6位(不含前导0)。
N<=1000000,n!
表示前n个正整数之积。
38.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
”))
foriinrange(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
39.以下是计算s=1+6+11+...+101的程序代码,请补全程序。
s=0
foriinrange(1,102, ):
s=
print(s)
请补充完成上述程序①_________②_________
40.请在空格处填写正确的代码,使程序完善。
实现功能:
绘制y=x2-2x+1的图像
#加载numpy模块并限简洁的别名为np
importnumpyasnp
#加载matplotlib.pyplot模块并限简洁的别名为plt
importmatplotlib.pyplotasplt
#x在-7到9之间,每隔0.1取一个点
x=np.arange(-7,9,0.1)
_____=x**2-2*x+1
plt.plot(x,________)
plt.title('y=x*x-2*x+1')
plt.xlabel('x')
plt.ylabel('y')
plt._________
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python程序输出语句。
x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x=10,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序输出语句。
x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x=10,故本题选D选项。
2.D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
3.B
【详解】
本题考查的是Python逻辑运算符。
not运算级别高于and,故先算not1,返回值为:
False,Falseand1,返回值为:
False。
故选项B正确。
解析:
B
【详解】
本题考查的是Python逻辑运算符。
not运算级别高于and,故先算not1,返回值为:
False,Falseand1,返回值为:
False。
故选项B正确。
4.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=11,print是输出语句。
故选项D正确。
5.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
解析:
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选项。
6.B
【详解】
本题主要考查Python序列索引值。
任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。
解析:
B
【详解】
本题主要考查Python序列索引值。
任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。
7.B
【详解】
本题主要考查Python表达式的运算。
(21%4)+5=1+5=6,故表达式(21%4)+5的值是6,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
(21%4)+5=1+5=6,故表达式(21%4)+5的值是6,故本题选B选项。
8.B
【详解】
本题主要考查Python赋值语句。
语句x=y=z=1,赋值x、y、z值均为1;语句x,y=y,x交换x、y的值;x+=y等价于x=x+y;语句x=(y=
解析:
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选项。
9.B
【详解】
本题主要考查Python语法。
Python3.8支持中文做标识符,Python标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故本题选B选项
解析:
B
【详解】
本题主要考查Python语法。
Python3.8支持中文做标识符,Python标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故本题选B选项。
10.B
【详解】
本题主要考查Python程序的执行。
a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2
解析:
B
【详解】
本题主要考查Python程序的执行。
a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。
11.D
【详解】
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
解析:
D
【详解】
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
12.D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
13.A
【详解】
本题主要考查Python程序的执行。
input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。
14.A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
解析:
A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
15.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
16.A
【详解】
本题主要考查Python程序的执行。
x=3,3%2=1,故输出3是奇数,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
x=3,3%2=1,故输出3是奇数,故本题选A选项。
17.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故可作为Python变量名的是Abc,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故可作为Python变量名的是Abc,故本题选B选项。
18.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选项。
19.C
【详解】
本题主要考查Python程序的执行。
a=3,b=4,a=a*b=3*4=12,故运行的结果是12,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
a=3,b=4,a=a*b=3*4=12,故运行的结果是12,故本题选C选项。
20.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
21.D
【详解】
本题主要考查Python输出语句。
Python输入函数是print(),故可以输出helloworld的是print(“helloworld”),故本题选D选项。
解析:
D
【详解】
本题主要考查Python输出语句。
Python输入函数是print(),故可以输出helloworld的是print(“helloworld”),故本题选D选项。
22.A
【详解】
本题主要考查服务器的搭建。
Python是程序设计软件,Excel是表格处理软件,IIS是互联网信息服务,Apache是Web服务器软件,IIS和Apache可以用来搭建本地服务器的软件
解析:
A
【详解】
本题主要考查服务器的搭建。
Python是程序设计软件,Excel是表格处理软件,IIS是互联网信息服务,Apache是Web服务器软件,IIS和Apache可以用来搭建本地服务器的软件,故本题选A选项。
23.C
【详解】
本题主要考查程序设计语言。
VisualBasic语言、Python语言是高级语言,计算机能直接接收和执行的程序设计语言为机器语言,故本题选C选项。
解析:
C
【详解】
本题主要考查程序设计语言。
VisualBasic语言、Python语言是高级语言,计算机能直接接收和执行的程序设计语言为机器语言,故本题选C选项。
24.C
【详解】
本题主要考查Pyt