资料中国电子学会青少年软件编程等级考试标准python二级.docx
《资料中国电子学会青少年软件编程等级考试标准python二级.docx》由会员分享,可在线阅读,更多相关《资料中国电子学会青少年软件编程等级考试标准python二级.docx(15页珍藏版)》请在冰点文库上搜索。
![资料中国电子学会青少年软件编程等级考试标准python二级.docx](https://file1.bingdoc.com/fileroot1/2023-7/19/904a0295-e6dc-462f-8647-6074fd29af15/904a0295-e6dc-462f-8647-6074fd29af151.gif)
资料中国电子学会青少年软件编程等级考试标准python二级
资料中国电子学会青少年软件编程等级考试标准python二级
一、选择题
1.python单行注释和多行注释分别是什么?
()
A.""""""和''''''B.#和""""""C.//和''''''D.#和//
2.已知a=-2,b=10/3,则python表达式round(b,1)+abs(a)的值为()
A.1.3B.5.33C.5.4D.5.3
3.已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为()
A.5B.34C.7D.12
4.下列Python程序段的运行结果是()
i=0
sum=0
whilei<10:
ifi%2==0:
sum+=i
i+=1
print(‘sum=’,sum)
A.sum=18B.sum=20C.sum=22D.sum=30
5.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于()
A.算术表达式B.关系表达式C.逻辑表达式D.日期表达式
6.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
7.有如下python程序段
n=int(input("请输入n值:
"))
x=n;y=0
ifx>0:
y=y+1
elifx<0:
y=y-1
print(y)
执行上述语句,下列说法不正确的是()
A.若输入-1,则输出y值为-1B.若输入0,则输出y值为-1
C.若输入1,则输出y值为1D.若输入2,则输出y值为1
8.检测输入的四位整数abcd是否满足下述关系:
(ab+cd)(ab+cd)=abcd。
实现上述功能的python程序代码如下:
k=int(input(“输入一个四位数:
”))
①
y=k%100
if②:
print(“符合”)
else:
print(“不符合”)
划线处应填入的代码是()
A.①x=k/100②(x+y)*2!
=kB.①x=k//100②(x+y)*2==k
C.①x=k/100②(x+y)**2!
=kD.①x=k//100②(x+y)**2==k
9.在python中,运行下列程序,正确的结果是()。
A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15
10.以下属于计算机高级语言的是()
A.PythonB.自然语言C.汇编语言D.机器语言
11.下面选项中对Python的转义字符描述错误的是()
A.\r回车B.\n换行C.\\反斜杠符号D.\”单引号
12.下面哪个不是Python合法的标识符()
A.int_3B.print
C.countD.__name__
13.在Python中运行后,b的值是()
a=6
Ifa>=0:
b=a+2
Else:
b=a-2
print(b)
A.6B.8C.10D.12
14.要实现将实数型变量a的值保留三位小数,以下python可以实现的是()
A.a%0.001B.a//0.001C.round(a,3)D.round(3,a)
15.Python输入函数为()。
A.time()B.round()C.input()D.print()
二、程序填空
16.使用Python自身提供的IDLE集成开发环境录入以下代码及调试
运行,检测结果。
#鸡兔同笼
forxinrange(1,23):
y=35-x
if4*x+2*y==94:
print("兔子有%s只,鸡有%s只"%(x,y))
特别提示:
代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。
17.阅读程序。
观察使用随机数求解百钱白鸡问题的代码并回答问题。
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
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造成程序无法停止,我们可以在程序中添加一行_________。
18.完善代码并保存。
实现功能:
从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
foriinrange(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj),min(________))
input("运行完毕,请按回车键退出...")
19.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
20.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
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.B
【详解】
本题主要考查Python注释。
python单行注释和多行注释分别是#和"""""",故本题选B选项。
解析:
B
【详解】
本题主要考查Python注释。
python单行注释和多行注释分别是#和"""""",故本题选B选项。
2.D
【详解】
本题主要考查Python表达式的运算。
round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(
解析:
D
【详解】
本题主要考查Python表达式的运算。
round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(a)=3.3+2=5.3,故本题选D选项。
3.D
【详解】
本题主要考查Python表达式的运算。
列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)=5+7=12,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)=5+7=12,故本题选D选项。
4.B
【详解】
本题考查Python语句。
根据while可知,当ifi%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum
解析:
B
【详解】
本题考查Python语句。
根据while可知,当ifi%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum=’,sum),则最后运行结果是sum=20,故本题选B。
5.B
【详解】
本题主要考查Python表达式的运算。
“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。
6.C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
7.B
【详解】
本题主要考查Python程序执行。
分析程序可知,当x>0,执行y=y+1;当x<0,执行y=y-1;若输入0,则不满足if条件结构跳过,输出y值为0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序执行。
分析程序可知,当x>0,执行y=y+1;当x<0,执行y=y-1;若输入0,则不满足if条件结构跳过,输出y值为0,故本题选B选项。
8.D
【详解】
本题主要考查Python程序的调试。
检测是否满足关系(ab+cd)(ab+cd)=a,需要将ab与cd取出来,ab=abcd//100,cd=abcd%100,故第一空填x=k/
解析:
D
【详解】
本题主要考查Python程序的调试。
检测是否满足关系(ab+cd)(ab+cd)=a,需要将ab与cd取出来,ab=abcd//100,cd=abcd%100,故第一空填x=k//100,第二空判断是否满足(ab+cd)(ab+cd)=a,故第二空填(x+y)**2==k,故本题选D选项。
9.A
【详解】
本题主要考查Python程序的执行。
foriinrange(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
foriinrange(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。
10.A
【详解】
本题考查计算机语言的相关知识点
计算机高级语言有Python、Java等
计算机低级语言有汇编语言
机器语言是计算机直接识别并执行的语言。
故本题选A选项
解析:
A
【详解】
本题考查计算机语言的相关知识点
计算机高级语言有Python、Java等
计算机低级语言有汇编语言
机器语言是计算机直接识别并执行的语言。
故本题选A选项
11.D
【详解】
本题主要考查Python转义字符。
\r回车,\n换行,\\反斜杠符号,\”双引号,故本题选D选项。
解析:
D
【详解】
本题主要考查Python转义字符。
\r回车,\n换行,\\反斜杠符号,\”双引号,故本题选D选项。
12.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B选项。
13.B
【详解】
本题主要考查Python程序的执行。
a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
14.C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
15.C
【详解】
本题考查的是Python函数。
input()是输入函数,print()是输出函数。
故选项C正确。
解析:
C
【详解】
本题考查的是Python函数。
input()是输入函数,print()是输出函数。
故选项C正确。
二、程序填空
16.错误1:
兔子4只腿,最多只能是23只,而range(1,23)只取到22,没取到23,故应改为:
range(1,24)
错误2:
缩进错误,y=35-x、if4*x+2*y==94:
是for语句中的语句块,应缩进。
print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。
【详解】
本题考查的是Python调试。
本题程序错误如下:
错误1:
兔子4只腿,最多只能是23只,而range(1,23)只取到22,没取到23,故应改为:
range(1,24)
错误2:
缩进错误,y=35-x、if4*x+2*y==94:
是for语句中的语句块,应缩进。
print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。
调试完最终输出:
兔子有12只,鸡有23只。
17.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;可以跳出循环)。
18.xcj
【详解】
本题主要考查Python程序执行与调试。
①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。
②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。
③求最大值用max函数,求最小值用min函数,故第三空填cj。
19.m%nrr=m%nngcd(a,b)
【详解】
本题主要考查Python程序设计。
①首先对m和n求余得到r,判断r是否为0,故此处填m%n。
②如果r为0则结束,否则更新m的值为n,n的值为r。
③此处用更新后的m和n继续求r,继续判断,故填r=m%n。
④循环结束后当r=0时,n即为最大公约数,故填n。
⑤输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。
20.layer=int(input("请输入需要打印的层数:
"))
forxinrange(1,layer+1):
foryinrange(1,x+1):
print("*",end="")
print("")
【详解】
本题主要考查Python循环结构。
Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。
range可以生成一个整数列表,列表范围根据接收的layer来确定。
外层循环用于确定输出行数,内层循环用于控制每行符号个数。
【点睛】
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。