编程中国电子学会青少年软件编程等级考试标准python一级.docx

上传人:b****5 文档编号:12189397 上传时间:2023-04-17 格式:DOCX 页数:16 大小:67.44KB
下载 相关 举报
编程中国电子学会青少年软件编程等级考试标准python一级.docx_第1页
第1页 / 共16页
编程中国电子学会青少年软件编程等级考试标准python一级.docx_第2页
第2页 / 共16页
编程中国电子学会青少年软件编程等级考试标准python一级.docx_第3页
第3页 / 共16页
编程中国电子学会青少年软件编程等级考试标准python一级.docx_第4页
第4页 / 共16页
编程中国电子学会青少年软件编程等级考试标准python一级.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

编程中国电子学会青少年软件编程等级考试标准python一级.docx

《编程中国电子学会青少年软件编程等级考试标准python一级.docx》由会员分享,可在线阅读,更多相关《编程中国电子学会青少年软件编程等级考试标准python一级.docx(16页珍藏版)》请在冰豆网上搜索。

编程中国电子学会青少年软件编程等级考试标准python一级.docx

编程中国电子学会青少年软件编程等级考试标准python一级

【编程】中国电子学会青少年软件编程等级考试标准python一级

一、选择题

1.下列哪条赋值语句在Python中是非法的:

()

A.X=Y=Z=1B.X=(Y=Z+1)C.X,Y=Y,XD.X+=Y

2.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()

A.3B.4C.5D.6

3.在python中,下列哪个选项是正确的赋值语句()

A.5s=80B.2018=xC.a+b=cD.s=s+5

4.在Python中,input()函数的返回结果的数据类型为()

A.Number型B.String型C.List型D.Sets型

5.有如下VB程序段:

s1="python":

s2="visual"

i=1:

j=1:

s=""

DoWhilei<=Len(s1)Andj<=Len(s2)

IfMid(s1,i,1)>=Mid(s2,j,1)Then

s=s+Mid(s1,i,1)

Else

j=j+1

EndIf

i=i+1

Loop

执行该程序后,j的值是()

A.2B.3C.5D.7

6.以下不属于高级程序设计语言的是()。

A.C++B.VBC.机器语言D.Python

7.以下python程序段运行后,x和st的值分别是()

x= 123 + 678

st = "123" + "678"

A.123678"123678"B.123678"801"C.801"123678"D.801"801"

8.以下选项中,不是Python中文件操作的相关函数是()。

A.open()B.load()

C.read()D.write()

9.下列Python程序运行后的输出结果是()。

s=0

foriinrange(1,10):

s=s+i

print("s=",s)

A.s=35B.s=45C.s=55D.s=65

10.关于python程序设计语言,下列说法错误的是()

A.python是一种面向对象的编程语言B.python代码只能在交互环境中运行

C.python具有丰富和强大的库D.python是一种解释型的计算机程序设计高级语言

11.python文件的扩展名是()

A.pyB.pyeC.vbpD.pyr

12.运行如下Python程序,结果为()。

A.1B.3C.6D.18

13.Python文件的后缀名是()

A.pdfB.doC.passD.py

14.下列python表达式结果为5的是()

A.abs(int(-5.6))B.len("3+5>=6")C.ord("5")D.round(5.9)

15.下列属于正确的Python变量名的是()

A.True

B.88abc

C.abc&88

D._abc88

二、程序填空

16.模拟一个简单计算器,实现如下功能:

输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。

程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。

当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。

当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!

”。

Python程序实现如下,在划线处填入合适的代码。

a=int(input("请输入第一个数:

"))

fh=input("请输入运算符:

")

b=int(input("请输入第二个数:

"))

flag=True

s=____

iffhins:

iffh=="+":

c=a+b

eliffh=="-":

c=a-b

eliffh=="*":

c=a*b

else:

if____

print("除数不能为0!

")

flag=False

else:

c=a/b

ifflag==True:

print("运算的结果为:

"+____)

else:

print("运算符不正确")

17.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。

为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。

一般情况下,规模N=1时,问题的解是已知的。

已知:

从1到n的连续自然数相乘的积、叫做阶乘、用符号n!

表示。

如5!

=1×2×3×4×5,规定0!

=1。

我们用递归算法可以较容易求n的阶乘。

求n的阶乘算法可以描述如下:

n!

=n*(n-1)!

(n-1)!

=(n-1)*(n-2)!

(n-2)!

=(n-2)*(n-3)!

2!

=2*1!

1!

=0!

0!

=1

如果把n!

写成函数形式,即f(n),f(n)=n*f(n-1)。

如f(5)就是表示5!

,求5!

的过程可以写成如下形式:

f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f

(2)f

(2)=2*f

(1)f

(1)=1

(问题求解)在python中用递归算法求1!

+2!

+……+n!

(n的值为整数,从键盘输入)。

请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

deff(n):

ifn==0:

return1

else:

return_________

s=0

n=int(input("请输入n:

"))

foriin_______:

s=________

print(s)

18.阅读程序。

观察使用随机数求解百钱白鸡问题的代码并回答问题。

百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

importrandom

whileTrue:

x=random.randrange(0,20)

y=random.randrange(0,33)

z=random.randrange(0,100)

if5*x+3*y+z/3==100andx+y+z==100:

print('公鸡',x)

print('母鸡',y)

print('小鸡',z)

(1)Python中导入库文件的命令是________。

(2)random.randrange(0,20)生成的随机数的范围是_________

(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为

________

(4)whileTrue的作用是______。

(5)如果whileTrue造成程序无法停止,我们可以在程序中添加一行_________。

19.哥德巴赫在1742年提出了以下猜想:

任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。

importmath

defss(n):

Flag=True

i=2

whilei<=int(math.sqrt(n))andFlag:

if_____________

Flag=False

_____________

returnFlag

n=int(input(“输入一个大于2的偶数”))

foriinrang(2,n//2+1):

if____________

print(str(n)+"="+str(i)+"+"+str(n-i))

如果输入“8”则结果显示_____

20.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。

*

**

***

****

21.冠军在A、B、C、D四位同学中。

A说:

“不是我”,B说:

“是C”,C说:

“是D”,D说:

“C说的不对”,已知四人中有一人说了假话。

判断出到底谁是冠军。

请在空格处填写正确的代码,使程序完善。

champion=['A','B','C','D']#设置选手列表

foriin__________:

#循环读取选手编号

cond=(i!

='A')+(i=='C')+(i=='D')+(i!

='D')#查找符合条件的选手

ifcond==_____:

#说真话是否是3人

print("冠军是:

",_________)#输出冠军

input("运行完毕,请按回车键退出...")

【参考答案】***试卷处理标记,请不要删除

 

一、选择题

1.B

【详解】

本题考查Python语句。

选项A,X=Y=Z=1是合法的赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓的“Y=Z+1”并不返回任何值,所以这是一个错误的赋值语

解析:

B

【详解】

本题考查Python语句。

选项A,X=Y=Z=1是合法的赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓的“Y=Z+1”并不返回任何值,所以这是一个错误的赋值语句,这是非法的;选项C,X,Y=Y,X这是交换语句,合法;选项D,X+=Y相当于X=X+Y,故本题选B。

2.C

【详解】

本题主要考查Python程序语句。

x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。

解析:

C

【详解】

本题主要考查Python程序语句。

x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。

3.D

【详解】

本题主要考查Python赋值语句。

“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。

解析:

D

【详解】

本题主要考查Python赋值语句。

“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。

4.B

【详解】

本题主要考查Python输入函数。

在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。

解析:

B

【详解】

本题主要考查Python输入函数。

在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。

5.C

【详解】

本题主要考查VB程序的执行。

分析程序可知,变量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=5;第五遍循环,“o”<“s”,j=j+1=4,i=i+1=6;第六遍循环,“n”<“u”,j=j+1=5,i=i+1=7,循环结束,故执行该程序后,j的值是5,故本题选C选项。

6.C

【详解】

本题考查计算机语言。

C++,VB,Python都属于高级程序设计语言。

机器语言则不是。

故本题选项C不属于高级程序设计语言。

解析:

C

【详解】

本题考查计算机语言。

C++,VB,Python都属于高级程序设计语言。

机器语言则不是。

故本题选项C不属于高级程序设计语言。

7.C

【详解】

本题主要考查Python程序的执行。

x=123+678=801,st="123"+"678"="123678"(字符串类型相加等于字符串的拼接),故本题选C选项。

解析:

C

【详解】

本题主要考查Python程序的执行。

x=123+678=801,st="123"+"678"="123678"(字符串类型相加等于字符串的拼接),故本题选C选项。

8.B

【详解】

本题主要考查Python文件操作函数。

open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项

解析:

B

【详解】

本题主要考查Python文件操作函数。

open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项。

9.B

【详解】

本题主要考查Python程序的执行。

s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。

解析:

B

【详解】

本题主要考查Python程序的执行。

s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。

10.B

【详解】

本题主要考查Python程序设计语言。

python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设

解析:

B

【详解】

本题主要考查Python程序设计语言。

python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设计高级语言,故本题选B选项。

11.A

【详解】

本题主要考查Python文件。

python文件的扩展名是py,故本题选A选项。

解析:

A

【详解】

本题主要考查Python文件。

python文件的扩展名是py,故本题选A选项。

12.C

【详解】

本题主要考查Python循环结构。

分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。

解析:

C

【详解】

本题主要考查Python循环结构。

分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。

13.D

【详解】

本题主要考查Python文件知识点。

Python文件的后缀名是py,故本题选D选项。

解析:

D

【详解】

本题主要考查Python文件知识点。

Python文件的后缀名是py,故本题选D选项。

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.D

【详解】

本题主要考查Python变量名命名规则。

Python变量名命名规则如下:

(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;

(2)Python变量名不能是P

解析:

D

【详解】

本题主要考查Python变量名命名规则。

Python变量名命名规则如下:

(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;

(2)Python变量名不能是Python关键字,但可以包含关键字;(3)Python变量名不能包含空格。

由上可知D选项正确。

【点睛】

二、程序填空

16."+-*/"b==0str(c)

【详解】

本题主要考查Python程序执行与调试。

①变量fh用来接收运算符,由代码“iffhins”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填"+-*/"。

②变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!

”,此处是处理b=0的情况,故填b==0。

③变量c保存运算结果,此处输出c的结果,故填str(c)。

17.n*f(n-1)range(1,n+1)s+f(i)

【详解】

本题主要考查Python程序的执行与调试。

①此处是定义递归函数f(n),由题干,当n=0时,返回1,否则返回n*f(n-1),故此处填n*f(n-1)。

②用递归算法求1!

+2!

+……+n!

,故变量i的范围应是1—n,foriinrange(1,n+1)表示i的范围是[1,n],故此处填range(1,n+1)。

③循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。

18.import0~19(包括0和19)importrandomasr让程序无限循环break;

【详解】

本题主要考查Python程序的执行与调试。

①Python中导入库文件的命令是import,如importrandom。

②random.randrange(0,20)生成的随机数的范围是0~19(包括0和19)。

③如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为importrandomasr(给random取个简单的别名)。

④whileTrue的作用是让程序无限循环。

⑤如果whileTrue造成程序无法停止,我们可以在程序中添加一行break;(满足条件后,执行break;可以跳出循环)。

19.n%i==0:

i+=1ss(i)andss(n-i):

8=3+5

【详解】

本题主要考查Python程序的执行与调试。

①函数ss(n)用来判断n是否为质数,若是则返回True,否则返回False,此处是通过while循环逐个判断n是不是能整除i,故填n%i==0:

②若不满足if条件,则i递增,继续循环判断,故填i+=1。

③此处判断i与n-i是否都是质数,若是,则表明该偶数可以写成两个质数之和,并输出,故填ss(i)andss(n-i):

④如果输入“8”则结果显示8=3+5。

20.layer=int(input("请输入需要打印的层数:

"))

forxinrange(1,layer+1):

foryinrange(1,x+1):

print("*",end="")

print("")

【详解】

本题主要考查Python循环结构。

Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。

range可以生成一个整数列表,列表范围根据接收的layer来确定。

外层循环用于确定输出行数,内层循环用于控制每行符号个数。

【点睛】

21.champion3i

【详解】

本题主要考查Python程序的执行。

①champion是选手编号列表,此处是循环读取选手编号,使用foriinchampion,故此处填champion。

②四人中有一人说了假话,即3个人说真话,即当cond=3时,则表示找到了谁是冠军,故此处填3。

③当cond是3时,i即为冠军,故此处填i。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1