中国电子学会青少年软件编程等级考试标准python一级word
一、选择题
1.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。导入时只能使用语句“import mymodule”,不可以用“from mymodule import *”
D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中
2.Python程序中第一行:a=int(input( )),第二行:print(a+5),运行程序后键盘输入3,输出结果是( )。
A.5 B.3 C.8 D.其他
3.在python中能实现下面结果的代码是( )。
请输入你的性别:
A.print(“请输入你的性别:”) B.print(请输入你的性别:)
C.input(“请输入你的性别:”) D.input(请输入你的性别:)
4.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是( )。
A.for循环语句中步长为3 B.语句s=0应改为s=1
C.语句s=s+i共循环执行了100次 D.程序使用了循环结构
5.现有如下python程序段:
for i in range( 6 ):
p.append( int( random() * 10 ) + 1 )
for i in range( 2, 6 ):
if i % 2 == 1 and p[ i ] % 2 == 0:
p[ i ] += p[ i - 1]
elif i % 2 == 0 and p[ 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
6.有关循环结构的说法不正确的是( )。
A.循环结构是算法的基本结构之一
B.有的的程序设计中没有循环结构
C.循环结构在程序设计有可能会有嵌套出现
D.在PYTHON 程序设计语言中循环结构一般使用IF语句实现。
7.下列选项中不能正确表达Python中的赋值语句的是( )
A.X,Y=5,8 B.X=Y=5 C.X =Y+X D.10=X+Y
8.下面哪个不是Python合法的标识符( )
A.int32 B.40XL C.self D.__name__
9.以下属于计算机高级语言的是( )
A.Python B.自然语言 C.汇编语言 D.机器语言
10.下面哪个不是Python合法的标识符( )
A.int_3 B.print
C.count D.__name__
11.以下python程序段运行后,s的值是( )
n=0
s=0
while s <= 10:
n=n+3
s=s+n
print (s)
A.0 B.3 C.18 D.30
12.在Python中,显示出信息x,并要求输入数据的是( )。
A.abs(x) B.float(x) C.print(x) D.input(x)
13.我们学习了使用Python程序设计语言解决问题,Python程序设计语言属于( )。
A.高级语言 B.自然语言 C.汇编语言 D.机器语言
14.已知字符串a="python",则a[-1]的值为( )
A."p" B."n" C."y" D."o"
15.下列变量名在Python中合法的是( )
A.36B B.F55# C.for D._Good
二、程序填空
16.某仓库物品代码格式为“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=[]
for i in range (0, 13):
if ___
a. append(int (s[i])) #append( )函数用于在列表末尾添加新的对象
sum=0
for i in range(0, 9) :
____
sdm=sum%10
___
if sdm==ydm :
print("正确")
else:
print("错误")
17.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。
(1)Python程序设计语言属于程序设计语言中的_______________。
A.机器语言 B.汇编语言 C.高级语言 D.翻译程序
(2)小C将设计好的算法转为Python程序语言(如下)。其中“Tot2=8”是一个___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个___________,“float(input(“请输入时长”))”是一个__________。
A.函数 B.表达式 C.赋值语句 D.注释语句
1 Tot1=0 #初始化时长费为0 2 Tot2=0 #初始化里程费为0 3 S=float(input(“请输入里程数”)) 4 T=float(input(“请输入时长”)) #输入里程数和时长 5 if(T>9): #计算时长费用 6 Tot1=(T-9)*0.2 7 if(S<=3.3): #算里程费用 8 Tot2-8 9 else: 10 Tot2=8+(S-3.3)*1.35 11 Cost-Totl+tot2 12 print(Cost) #输出总车费 |
(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:____________________________________________________________________________________________。
NameError Traceback(most recent call last) <ipython-input-2-fc682f6f4658>in<modu1e> 9else: 10 —→11 Cost=Tot1+tot2 编程语言翻译12 NameError:name’tot2’is not defined |
(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。小C借助于计算机编写程序解决问题的这个过程是:①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。(填写序号即可)
(5)总结用计算机解决问题的优势主要有:_______________________________________________。
18.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3 = 153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。print ("三位数之内的水仙花是:")
for x in _____ :
b=x//100
s=_____
g=_____
if x==(b**3 + s**3 + g**3):
_____
19.学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为《探秘水仙花数》。
(1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153 = 13+53+33,那么这个数就是一个“水仙花数”。百度属于____搜索引擎(全文,分类)
(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:
k是可以重新赋值的,k是变量还是常量?____程序中①处有空缺,请补充完整①处的代码。____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。
(3)在研究成果展示环节, 张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告? (_____)
20.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
def gcd (m,n):
r=
while r!=0:
m=n
n=
return
a=int(input(‘请输入a的值:’))
b=int(input(‘请输入b的值:’))
print(‘最大公约数是:' )
填空:
________ ________ ________ ________ ________
21.阅读程序。分析有关多项式的代码并回答问题。
求1!+2!+3!+……+20!的和。
n=0
s=0
t=1
for n in range(1,21):
t*=n
s+=t
print(s)
(1)n的作用是________________。
(2)s的作用是 ______________。
(3)t的初值必须赋值为1,这是因为_________。
(4)t*=n的等价语句是 __________
(5)s+=t的等价语句是 ______。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python代码发布。创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论