资料全国青少年软件编程等级考试标准Python 2级.docx
《资料全国青少年软件编程等级考试标准Python 2级.docx》由会员分享,可在线阅读,更多相关《资料全国青少年软件编程等级考试标准Python 2级.docx(13页珍藏版)》请在冰豆网上搜索。
资料全国青少年软件编程等级考试标准Python2级
资料全国青少年软件编程等级考试标准(Python2级)
一、选择题
1.以下对Python程序缩进格式描述错误的选项是()
A.不需要缩进的代码顶行写,前面不能留空白
B.缩进可以用tab键实现,也可以用多个空格实现
C.严格的缩进可以约束程序结构,可以多层缩进
D.缩进是用来格式美化Python程序的
2.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()
A.3B.4C.5D.6
3.在Python中运行下列程序,输出结果为()
foriinrange(1,5):
print(i)
A.1,2,3,4,5B.12345C.0,1,2,3,4D.1234
4.Python中变量的命名遵循的规则,不正确的是()
A.必须以字母或下划线开头,后面可以是字母、数字或下划线。
B.区分大小写
C.不区分大小写
D.不能使用保留字
5.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1orx<-1B.x>-1orx<1C.x>1andx<-1D.x>-1andx<1
6.下列选项中,不属于Python语言基本数据类型的是()
A.str
B.int
C.float
D.char
7.关于Python语言的特点,以下选项描述正确的是()
A.Python语言不支持面向对象B.Python语言是解释型语言
C.Python语言是编译型语言D.Python语言是非跨平台语言
8.关于python程序设计语言,下列说法不正确的是()。
A.python源文件以***.py为扩展名
B.python的默认交互提示符是:
>>>
C.python只能在文件模式中编写代码
D.python具有丰富和强大的模块
9.以下()是python文件
A.*.mp3B.*.xlsC.*.pptD.*py
10.在Python中,算式5+6*4%(2+8)结果为()
A.25
B.15
C.9
D.7.4
11.在Python中print(8+7%2**2)的执行结果是()
A.5B.1C.6D.11
12.下列语言中()不属于高级语言
A.pythonB.VCC.JAVAD.汇编语言
13.下列python表达式结果为5的是()
A.abs(int(-5.6))B.len("3+5>=6")C.ord("5")D.round(5.9)
14.Python输入函数为()。
A.time()B.round()C.input()D.print()
15.下列属于正确的Python变量名的是()
A.True
B.88abc
C.abc&88
D._abc88
二、程序填空
16.求100以内素数。
17.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。
18.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:
能被4整除但不能被100整除或能被400整除,闰年的2月为29天)
day=input("请输入年月日(格式举例:
2000-01-05):
")
year=int(day[:
4])
month=_________
sun=int(day[8:
10])
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]
tall_day=0
if______:
foriinrange(month-1):
tall_day+=f_run[i]
__________
else:
foriinrange(month-1):
tall_day+=f_run[i]
tall_day+=sun
print(day+"是当年的第"+str(tall_day)+"天")
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。
19.利用for循环,分别计算1--100中奇数的和、偶数的和。
20.阅读程序。
foriinrange(1,10):
forjinrange(1,i+1):
print("%dX%d=%2d"%(j,i,j*i),end="")
print()
(1)在第一行程序中,变量i的数据范围为_____到____。
(2)在第二行的程序中,变量j的数据范围为_____到____。
(3)如果“%d”表示十进制数,那么%2d则表示____位宽的十进制数。
(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是_____。
(5)如果最后一行的print()表示换行,那么end=””的功能是_______。
21.阅读程序。
分析有关多项式的代码并回答问题。
求1!
+2!
+3!
+……+20!
的和。
n=0
s=0
t=1
forninrange(1,21):
t*=n
s+=t
print(s)
(1)n的作用是________________。
(2)s的作用是______________。
(3)t的初值必须赋值为1,这是因为_________。
(4)t*=n的等价语句是__________
(5)s+=t的等价语句是______。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python语法格式。
不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则
解析:
D
【详解】
本题主要考查Python语法格式。
不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则要求,故本题选D选项。
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程序执行
range(1,5)表示1到4的值,注意不包括5。
故本题选D选项
解析:
D
【详解】
本题考查Python程序执行
range(1,5)表示1到4的值,注意不包括5。
故本题选D选项
4.C
【详解】
本题主要考查规则。
Python中变量名可以包括字母、数字、下划线,但是数字不能做为开头,系统关键字不能做变量名使用,除了下划线之个,其它符号不能做为变量名使用,Python的变量名是区
解析:
C
【详解】
本题主要考查规则。
Python中变量名可以包括字母、数字、下划线,但是数字不能做为开头,系统关键字不能做变量名使用,除了下划线之个,其它符号不能做为变量名使用,Python的变量名是区分大小写的。
因此C选项符合题意。
5.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
6.D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
7.B
【详解】
本题主要考查Python语言。
Python语言是解释型语言,支持面向对象和跨平台使用,故本题选B选项。
解析:
B
【详解】
本题主要考查Python语言。
Python语言是解释型语言,支持面向对象和跨平台使用,故本题选B选项。
8.C
【详解】
本题主要考查Python程序设计语言。
python源文件以***.py为扩展名,python的默认交互提示符是:
>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,p
解析:
C
【详解】
本题主要考查Python程序设计语言。
python源文件以***.py为扩展名,python的默认交互提示符是:
>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块,故本题选C选项。
9.D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
解析:
D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
10.C
【详解】
本题主要考查Python表达式的运算。
小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10=5+24%10=5+4=9,故本题选C选项。
解析:
C
【详解】
本题主要考查Python表达式的运算。
小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10=5+24%10=5+4=9,故本题选C选项。
11.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正确。
12.D
【详解】
本题主要考查程序设计语言。
python、VC、JAVA均属于高级语言,汇编语言属于低级语言,故本题选D选项。
解析:
D
【详解】
本题主要考查程序设计语言。
python、VC、JAVA均属于高级语言,汇编语言属于低级语言,故本题选D选项。
13.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选项。
14.C
【详解】
本题考查的是Python函数。
input()是输入函数,print()是输出函数。
故选项C正确。
解析:
C
【详解】
本题考查的是Python函数。
input()是输入函数,print()是输出函数。
故选项C正确。
15.D
【详解】
本题主要考查Python变量名命名规则。
Python变量名命名规则如下:
(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;
(2)Python变量名不能是P
解析:
D
【详解】
本题主要考查Python变量名命名规则。
Python变量名命名规则如下:
(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;
(2)Python变量名不能是Python关键字,但可以包含关键字;(3)Python变量名不能包含空格。
由上可知D选项正确。
【点睛】
二、程序填空
16.foriinrange(1,100):
ifi>1:
forjinrange(2,i):
if(i%j)==0:
break
else:
print(i)
【详解】
本题主要考查Python程序设计。
可以通过for循环找出100以内的素数,用i依次整数2~i-1,如果能整除表明i不是素数,否则i为质数,具体代码如下:
foriinrange(1,100):
ifi>1:
forjinrange(2,i):
if(i%j)==0:
break
else:
print(i)
17.s=input("请输入要转换的字符)
c=len(s)#len求字符串长度
foriinrange(0,c):
ifi<2:
print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i])+3))
【详解】
本题主要考查程序设计。
题干要求可通过Python程序条件分支结构实现,具体代码如下:
s=input("请输入要转换的字符)
c=len(s)#len求字符串长度
foriinrange(0,c):
ifi<2:
print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i])+3))
18.int(day[5:
7])(year%4==0andyear%100!
=0oryear%400==0)andmonth>=2tall_day+=1110
【详解】
本题主要考查Python程序的执行与调试。
①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:
end],start会包含在结果中而end却不会,故此处填int(day[5:
7])。
②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0andyear%100!
=0oryear%400==0)andmonth>=2。
③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。
④输入“2020-4-19”为当年的第110天。
19.sum1=0
sum2=0
foriinrange(1,101):
ifi%2==0:
sum1+=i
else:
sum2+=i
print(sum1,sum2)
【详解】
本题主要考查程序设计。
可以使用Python程序设计语言实现题干要求,通过if条件分支结构可以实现分别计算奇数的和、偶数的和,具体代码如下:
sum1=0
sum2=0
foriinrange(1,101):
ifi%2==0:
sum1+=i
else:
sum2+=i
print(sum1,sum2)
20.91i2
末尾不换行,添加空格
【详解】
本题主要考查Python程序的执行与调试。
(1)在第一行程序中(foriinrange(1,10):
),变量i的数据范围为1到9。
(2)同理,在第二行的程序中(forjinrange(1,i+1):
),变量j的数据范围为1到i。
(3)如果“%d”表示十进制数,那么%nd则表示n位宽的十进制数,%2d则表示2位宽的十进制数。
(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是
,i与j的位置进行了交换,如1X2=2变为2X1=2。
(5)如果最后一行的print()表示换行,那么end=””的功能是末尾不换行,添加空格。
21.计算每一项的阶乘记录阶乘相加后的和t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。
t=t*ns=s+t
【详解】
本题考查的是python语言编程。
本题考查的是1-20阶乘的求和。
本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。
在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。
初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。
每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“forninrange(1,21):
”的循环体内。