NCT全国青少年编程能力等级测试python三级图文word.docx
《NCT全国青少年编程能力等级测试python三级图文word.docx》由会员分享,可在线阅读,更多相关《NCT全国青少年编程能力等级测试python三级图文word.docx(13页珍藏版)》请在冰豆网上搜索。
NCT全国青少年编程能力等级测试python三级图文word
NCT全国青少年编程能力等级测试python三级图文word
一、选择题
1.下列Python数据不属于列表的是()
A.{24,56,7,89,4}B.[24,56,7,89,4]
C.[24,56,’a’,’猕猴桃’]D.[’A’,’B’’C’,’D’]
2.韦沐沐同学利用Python软件编写“求能被3整除的数”程序,在设计算法环节,使用流程图描述算法,如右图所示,其中空白处可以填入的是()
A.A÷3==0B.A/3==0C.A\3==0D.A%3==0
3.下列不可以作为Python合法变量名的是()
A.c0B.2aC.a_3D.小河
4.在下列程序设计语言中,属于人工智能语言的是()。
A.Python
B.VB
C.Pascal
D.C
5.python用来表示代码块所属关系(控制层级结构的)的语法符号是()
A.圆括号B.大括号C.缩进D.冒号
6.下列不是Python程序基本结构的是()。
A.顺序结构B.树形结构C.分支结构D.循环结构
7.以下Python程序段执行后,输出结果为()。
A.m不能被3整除B.29不能被3整除C.29能被3整除D.m能被3整除
8.关于Python,以下几种说法不正确的是()。
A.Python是一种高级程序设计语言
B.Python属于汇编语言,或者说属于低级语言
C.Python是一种代表简单主义思想的语言,它具有简单、免费、开源和可移植等特点
D.Python是一种面向对象的、解释性计算机语言
9.下列选项都是属于高级语言的是()
A.汇编语言、机器语言
B.汇编语言、Basic语言
C.Basic语言、Python语言
D.机器语言、Python语言
10.小林编写一段文件读写操作代码,文件如图,代码段如下:
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.程序编译错误,不会输出结果
11.运行如下Python程序,结果为()。
A.1B.3C.6D.18
12.在Python中,返回x的绝对值的函数是()。
A.abs(x)B.bin(x)C.all(x)D.input(x)
13.下列选项中,可以作为Python程序变量名的是()
A.a/bB.abC.a+bD.a-b
14.下列python表达式结果为5的是()
A.abs(int(-5.6))B.len("3+5>=6")C.ord("5")D.round(5.9)
15.在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
二、程序填空
16.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的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):
_____
17.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。
许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。
但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。
小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。
为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。
现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。
于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。
A
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
11
66
116
329
438
582
652
714
756
925
B
E10
E9
E8
E7
E6
E5
E4
E3
E2
E1
35
116
215
271
309
428
576
772
806
950
Python程序如下:
A=[11,66,116,329,438,582,652,714,756,925]
B=[35,116,215,271,(5)__,428,576,772,806,950]
算法一:
myRank=
i=0
j=0
while(iif(A[i]
(6)______
i+=1
else:
myRank.append(B[j])
j+=1
while(imyRank.append(A[i])
i+=1
else:
while((7)______):
myRank.append(B[j])
j+=1
print(myRank)
算法二:
myRank=[0]*(len(A)+len(B))
i=0
j=0
k=0
while((8)_____):
k=i+j
if(i>=len(A)):
myRank[k]=B[j]
j+=1
elif(j>=len(B)):
myRank[k]=A[i]
i+=1
elif((9)_____):
myRank[k]=A[i]
i+=1
else:
myRank[k]=B[j]
j+=1
print(myRank)
18.在一千多年前的《孙子算经》中,有这样一道算术题:
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
”。
即一个数除以3余2,除以5余3,除以7余2,求这个数。
i=①________
while(i%3!
=2②________i%5!
=3ori%7!
=2):
i=③________
print(i)
19.输入n,计算s=1!
+2!
+...+n!
的未6位(不含前导0)。
N<=1000000,n!
表示前n个正整数之积。
20.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
print("公鸡:
",g,"母鸡:
",m,"小鸡:
",x)
21.程序补充:
(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=__________________________________
while_________________________________
_________________________________
________________________________
print(year,“年后资金被全部取出”)
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.A
【详解】
本题考查Python语句。
列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。
选选项B,C,D都属于列表,选项A不属于列表,故本题选A。
解析:
A
【详解】
本题考查Python语句。
列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。
选选项B,C,D都属于列表,选项A不属于列表,故本题选A。
2.D
【详解】
本题考查的是流程图及Python表达式相关知识。
能被3整除的数即除3的余数为0,在Python中%表示求余,故本题应选D。
解析:
D
【详解】
本题考查的是流程图及Python表达式相关知识。
能被3整除的数即除3的余数为0,在Python中%表示求余,故本题应选D。
3.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。
4.A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
解析:
A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
5.C
【详解】
本题主要考查Python语法。
python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
解析:
C
【详解】
本题主要考查Python语法。
python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
6.B
【详解】
本题考查Python相关知识。
程序基本结构的是顺序结构,分支结构和循环结构。
选项B不是程序基本结构,这是一种数据结构。
解析:
B
【详解】
本题考查Python相关知识。
程序基本结构的是顺序结构,分支结构和循环结构。
选项B不是程序基本结构,这是一种数据结构。
7.B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
解析:
B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
8.B
【详解】
本题主要考查Python程序设计语言。
Python是一种高级程序设计语言;Python是一种代表简单主义思想的语言,它具有简单、免费、开源和可移植等特点;Python是一种面向对象的、
解析:
B
【详解】
本题主要考查Python程序设计语言。
Python是一种高级程序设计语言;Python是一种代表简单主义思想的语言,它具有简单、免费、开源和可移植等特点;Python是一种面向对象的、解释性计算机语言,故本题选B选项。
9.C
【详解】
本题考查的是计算机语言。
计算机语言有:
机器语言、汇编语言、高级语言。
高级语言有:
VisualBasic、Pascal、C、C++、Java、Python等。
故选项C正确。
解析:
C
【详解】
本题考查的是计算机语言。
计算机语言有:
机器语言、汇编语言、高级语言。
高级语言有:
VisualBasic、Pascal、C、C++、Java、Python等。
故选项C正确。
10.B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后
解析:
B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后,输出的结果为pythonisaprogramminglanguage.,故本题选B选项。
11.C
【详解】
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
12.A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有
解析:
A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有元素是否都为TRUE,input(x)是输入函数,故本题选A选项。
13.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
14.A
【详解】
本题主要考查Python表达式。
int是取整函数,abs求绝对值函数,len返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(in
解析:
A
【详解】
本题主要考查Python表达式。
int是取整函数,abs求绝对值函数,len返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(int(-5.6))=5,len("3+5>=6")=6,ord("5")=53,round(5.9)=6,故本题选A选项。
15.A
【详解】
本题考查Python语句。
在Python中要交换变量a和b中的值,可以使用的语句组是t=a;a=b;b=t也可以是a,b=b,a,故本题选A。
解析:
A
【详解】
本题考查Python语句。
在Python中要交换变量a和b中的值,可以使用的语句组是t=a;a=b;b=t也可以是a,b=b,a,故本题选A。
二、程序填空
16.range(100,1000)x//10%10x%10print("三位数之内的水仙花是:
"+str(x))
【详解】
本题主要考查Python程序的执行与调试。
①水仙花数是指一个三位数,即[100,999],forxinrange(100,1000)表示x的范围是100-999,故此处填range(100,1000)。
②变量g、s、b分别存放个位、十位、百位上的数,故s=x//10%10(“//”表示整除,“%”表示取余)。
③g=x%10。
④如果满足x==(b**3+s**3+g**3),则输出“三位数之内的水仙花是:
x”,故此处填print("三位数之内的水仙花是:
"+str(x))。
17.myRank.append(A[i])j【详解】
本题主要考查python编程。
根据表格所示,列表B中第5个元素为309,因此①处为309;A[i]
【点睛】
18.ori+1
【详解】
本题主要考查Python程序执行与调试。
①分析程序可知,程序采用枚举的算法找出该数,当不满足条件时,i递增继续判断,故i的初始值是0,第一空填0。
②一个数除以3余2,除以5余3,除以7余2,此处是取不满足情况时,i递增,and取反变为or,故第二空填or。
③同理第三空填i+1。
19.s=0
n=eval(input("请输入一个数:
"))
foriinrange(0,n):
f=1
forjinrange(1,i):
f=f*j
s+=f
print(s%1000000)
【详解】
本题主要考查Python程序设计。
可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下:
s=0
n=eval(input("请输入一个数:
"))
foriinrange(0,n):
f=1
forjinrange(1,i):
f=f*j
s+=f
print(s%1000000)
20.range(1,33)g+m+x==1005*g+3*m+x/3
【详解】
本题考查的是算法中的经典问题。
百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。
21.[0.0325,0.03,0.03,0.02,0.0175]iinrate:
(没有冒号算错误)money=round(money*(1+i),2)1000000money>0或money>=0money=round(money*1.037-20000,2)year=year+1
【详解】
本题主要考查Python程序语句。
①此处是变量money的初始化,有5万元资金存入银行,故填50000。
②5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填[0.0325,0.03,0.03,0.02,0.0175]。
③通过for循环,从rate数组中取值,故填iinrate:
(没有冒号算错误)。
④调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。
⑤购买了10万元一年期收益率3.7%的银行保证收益型理财产品,故money的初始值为100000,故填100000。
⑥year的初始值也为0,故填0。
⑦循环条件是money大于0或大于等于0,故填money>0或money>=0。
⑧收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。
⑨循环变量是year,此处year递增进入下一轮循环,故填year=year+1。