中国电子学会青少年软件编程等级考试标准python二级优质练习.docx
- 文档编号:29963566
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:30
- 大小:1,011.35KB
中国电子学会青少年软件编程等级考试标准python二级优质练习.docx
《中国电子学会青少年软件编程等级考试标准python二级优质练习.docx》由会员分享,可在线阅读,更多相关《中国电子学会青少年软件编程等级考试标准python二级优质练习.docx(30页珍藏版)》请在冰豆网上搜索。
中国电子学会青少年软件编程等级考试标准python二级优质练习
中国电子学会青少年软件编程等级考试标准python二级优质练习
一、选择题
1.下面选项中对Python的转义字符描述错误的是()
A.\r回车B.\n换行C.\\反斜杠符号D.\”单引号
2.下列python表达式结果最小的是()
A.2**3//3+8%2*3B.5**2%3+7%2**2C.1314//100%10D.int("1"+"5")//3
3.Python中print(66!
=66)结果是()。
A.1B.0C.TrueD.False
4.数据分析的处理工具错误的()
A.AccessB..ExcelC.pythonD.SQL
5.在python语言中,下列表达式中不是关系表达式()
A.m==nB.m>=nC.mornD.m!
=n
6.下列变量名在Python中合法的是()
A.36BB.F55#C.forD._Good
7.在Python中,算式5+6*4%(2+8)结果为()
A.25
B.15
C.9
D.7.4
8.下列Python程序运行后的输出结果是()。
s=0
foriinrange(1,5):
s=s+i
print("s=",s)
A.s=5B.s=6C.s=10D.s=15
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.input()B.int()C.print()D.float()
11.在python中,运行下列程序,正确的结果是()
s=0
foriinrange(1,5):
s=s+i
print("i=",i,"s=",s)
A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15
12.以下Python程序段执行后,输出结果为()。
A.m不能被3整除B.29不能被3整除C.29能被3整除D.m能被3整除
13.Python中的数据类型float表示()
A.布尔型B.整型C.字符串型D.浮点型
14.在Python中,设a=2,b=3,表达式not(b-a>0)值是()
A.1B.-1C.TrueD.False
15.Python表达式中,可以使用()控制运算的优先顺序。
A.圆括号()B.方括号[]C.大括号{}D.尖括号<>
16.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()
A.3B.4C.5D.6
17.下列序列拼接错误的是()
A.list=[None]*4
B.msg=“Python”,”语言”
C.tup=“/”.join((“123”,”234”))
D.set={1,2,3}+{4,5,6}
18.计算机能直接识别、理解执行的语言是()
A.汇编语言B.Python语言C.自然语言D.机器语言
19.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800B.2800.0C.12200D.12200.0
20.以下哪个不属于计算机操作系统()
A.DOSB.UnixC.PythonD.Linux
21.有关循环结构的说法不正确的是()。
A.循环结构是算法的基本结构之一
B.有的的程序设计中没有循环结构
C.循环结构在程序设计有可能会有嵌套出现
D.在PYTHON程序设计语言中循环结构一般使用IF语句实现。
22.在用Python编程对数据进行分析的时候,代码pandas.DataFrame.sum()执行的操作是
A.返回所有列的和B.返回所有行的和
C.返回所有数据中的最大值D.返回所有数据中的最小值
23.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言(
)。
A.PythonB.C++C.VBD.C
24.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
25.使用UltraEdit软件观察字符“2020,Python来袭”的内码,部分界面如图所示。
下列说法正确的是( )
A.图中字符“2020,Python来袭”共占15个字节,其中共有10个ASCII字符
B.字符“10”的十六进制内码是3A
C.“COB4”是“来”字在计算机内存储和处理时的交换码
D.小写字母p的二进制内码是1110000
26.下列python表达式中,值为字符串类型的是()
①Abs(x)②“abc”*3③“123+45”④123+45⑤a=input(“请输入a的值:
”)
A.①③⑤B.②④⑤C.①②③D.②③⑤
27.下列Python程序段运行的结果是()。
i=0
sum=0
whilei<10:
ifi%3==0:
sum+=i
i+=1
print("sum=",sum)
A.sum=9B.sum=10C.sum=18D.sum=19
28.在Python中自定义函数需要什么关键字放在函数开始()
A.functionB.defC.defineD.void
29.在Python中,通过()函数查看字符的编码。
A.int()B.ord()C.chr()D.yolk()
30.在Python中,表示跳出循环的函数是()
A.continueB.breakC.ESCD.Close
二、程序填空
31.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的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):
_____
32.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
defisprime(x):
foriinrange(2,x):
if①__________:
returnFalse
returnTrue
n=int(input(“请输入一个正整数n:
”))
c=0
k=3
whilek<=n-2:
ifisprime(k)and②___________:
print(k,k+2)
③___________
k=k+1
print(“共有”+str(c)+“对双胞胎数”)
33.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。
使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的Python程序如下:
importpandasaspd
importitertools
#读数据到pandas的DataFrame结构中
df=________(”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)
km=[‘物理’,‘化学’,‘生物’,‘政治’,‘历史’,‘地理’,‘技术’]
#按学校分组计数
sc=df.groupby(‘___________’,as_index=False).count()
#对分组计数结果进行合计,合计结果转换为DF结构并转置为行
df_sum=pd.DataFrame(data=sc.sum()).T
df_sum[‘学校代码’]=‘合计’
#增加"合计"行
result=sc.append(df_sum)
#百分比计算
df_percent=df_sum
df_percent[‘学校代码’]=‘比例’
forkinkm:
per=df_percent.at[0,k]/zrs
df_percent[k]=per
#增加"百分比"行
result=result.append(df_percent)
#删除"姓名"列
result=______________
#修改"学生编号"为"总人数"
result=result.rename(columns={‘学生编号’:
‘总人数’})
#保存结果,创建Excel文件.生成的Excel文件
result.to_excel("学校人数统计.xlsx")
(1)请在划线处填入合适的代码:
(2)加框处语句的作用是__________________
34.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。
“奇校验”的原理:
在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。
例如:
接收到的每个字节及校验码
1的个数
传输正误
100101001
4
错误
011010101
5
正确
101011010
5
正确
根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(1)若接收到的二进制码为“101011011”,传输过程__________(选填:
是/否)存在差错。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
s=input("请输入9位二进制编码:
")
code={10:
"A",11:
"B",12:
"C",13:
"D",14:
"E",15:
"F"}
k=0;p=0;ans=“”
foriins:
#统计9位二进制编码中“1”的个数
k=k+int(i)
if____:
print("传输错误!
")
else:
print("传输正确!
")
forjinrange(0,8,4):
p=int(s[j:
j+4],2)
#int(x,[base]):
将x(字符串或者数字)按照base进制转换成整数
if0<=p<=9:
ans=ans+str(p)
else:
ans=___
print("字节编码用十六进制表示:
",___
35.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
importmath
defisprime(x):
______
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
f=False
returnf
n=int(input("请输入一个正整数n:
"))
c=0
k=3
whilek<=n-2:
ifisprime(k)and______________:
c+=1
print("第"+str(c)+"对双胞胎数:
",k,'和',k+2)
_______
print("共有"+str(c)+"对双胞胎数")
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
36.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。
它是已知最古老的算法,其可追溯至公元前300年前。
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。
因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。
小曲设计了辗转相除法的算法,请根据下面算法回答问题。
描述一
描述二
描述三
①输入两个正整数m,n(m>n);
②计算m除以n所得的余数r;
③m=n,n=r;
④若r=0,则m,n的最大公约数等于m;否则转到步骤②;
⑤输出最大公约数m;
⑥结束。
(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是__________。
(3)在描述三程序设计中,补充代码第8行划线处为__________。
37.程序设计:
键盘输入任意的正整数,程序输出与其相应的二进制数。
代码如下:
n=int(input("请输入一个十进制数:
"))
result=[]
whilen>0:
result.append(①)
n=②
result.reverse()
foriinresult:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
(2)程序代码中②处可能的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
38.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
39.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
40.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:
能被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”为当年的第_____天。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python转义字符。
\r回车,\n换行,\\反斜杠符号,\”双引号,故本题选D选项。
解析:
D
【详解】
本题主要考查Python转义字符。
\r回车,\n换行,\\反斜杠符号,\”双引号,故本题选D选项。
2.A
【详解】
本题主要考查Python表达式的运算。
2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=
解析:
A
【详解】
本题主要考查Python表达式的运算。
2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。
3.D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
4.C
【详解】
本题主要考查数据分析知识点。
Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库的标准的计算机语言)均是数据分析处理工具,Python是程序设计软件,故本题
解析:
C
【详解】
本题主要考查数据分析知识点。
Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库的标准的计算机语言)均是数据分析处理工具,Python是程序设计软件,故本题选C选项。
5.C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
解析:
C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
6.D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故“_Good”在Python中是合法的变量名,故本题选D选项。
解析:
D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故“_Good”在Python中是合法的变量名,故本题选D选项。
7.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选项。
8.C
【详解】
本题主要考查Python中循环结构。
range(1,5)函数生成1、2、3、4的整数序列,For循环中循环体计算序列累加求和,因此C选项正确。
【点睛】
解析:
C
【详解】
本题主要考查Python中循环结构。
range(1,5)函数生成1、2、3、4的整数序列,For循环中循环体计算序列累加求和,因此C选项正确。
【点睛】
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.C
【详解】
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,
解析:
C
【详解】
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,故选项B错误;print是输出函数,故选项C正确;float用于将整数和字符串转换成浮点数,故选项D错误。
11.A
【详解】
本题考查Python程序实现。
变量i的范围是从1到4,当i=4时,跳出循环,此时s=0+1+2+3+4=10。
故本题选A选项
解析:
A
【详解】
本题考查Python程序实现。
变量i的范围是从1到4,当i=4时,跳出循环,此时s=0+1+2+3+4=10。
故本题选A选项
12.B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
解析:
B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
13.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
14.D
【详解】
本题主要考查Python表达式的运算。
a=2,b=3,b-a>0值为True,则表达式not(b-a>0)值是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
a=2,b=3,b-a>0值为True,则表达式not(b-a>0)值是False,故本题选D选项。
15.A
【详解】
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。
故本题选A选项
解析:
A
【详解】
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。
故本题选A选项
16.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选项。
17.D
【详解】
本题主要考查Python序列拼接运算。
set={}生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。
解析:
D
【详解】
本题主要考查Python序列拼接运算。
set={}生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。
18.D
【详解】
本题主要考查程序语言。
计算机能直接识别、理解执行的语言是机器语言(即0和1),故本题选D选项。
解析:
D
【详解】
本题主要考查程序语言。
计算机能直接识别、理解执行的语言是机器语言(即0和1),故本题选D选项。
19.D
【详解】
本题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国 电子 学会 青少年 软件 编程 等级 考试 标准 python 二级 优质 练习