python二级模拟试卷2精品练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python二级模拟试卷2精品练习
一、选择题
1.下面哪个不是Python合法的标识符()
A.int_3 B.print
C.count D.__name__
2.下列语言中()不属于高级语言
A.python B.VC C.JAVA D.汇编语言3.在Python中,正确的赋值语句是()
A.x+y=10 B.x=2y C.x=y=50 D.3y=x+1 4.Python表达式“50-50%6*5//2**2”的结果为()
A.48 B.25 C.0 D.45
5.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1) B.x,y=y,x C.x=1;y=1 D.x=y=1
6.在教科书中利用Python探究电流和电压、电阻的关系实验里,除了可以通过书中的Jupyter Notebook外,处理数据还可以通过下列()工具实现。
A.Python IDLE B.Xmind C.网络画板D.几何画板7.以下()是python文件
A.*.mp3B.*.xls C.*.ppt D.*py
8.以下Python程序段执行后,输出结果为()。
A.m不能被3整除B.29不能被3整除C.29能被3整除D.m能被3整除9.Python的序列类型不包括下列哪一种?()
A.字符串B.列表C.元组D.字典
10.以下python程序段运行后,y的值是()
x=3
if x > 3 :
y=2*x
else :
y=3*x+1
print(y)
A.10 B.5 C.25 D.26
11.下列可以被计算机直接执行的程序是()
A.机器语言程序B.高级语言程序C.汇编语言程序D.Python源程序12.Python语言自带的IDLE环境的退出命令是()
A.Esc B.close C.回车键D.exit
13.在Python中,“print(100-33*5%3)”语句输出的是()
A.34 B.67 C.100 D.1
14.( ) 不是程序设计高级语言。
A.Python
B.Basic
C.C++
D.伪代码
15.在python中运行print(“3+6”)的结果是()。
A.9B.“3+6”C.3+6D.“9”
16.关于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本地副本中
17.把数式写成Python语言的表达式,下列书写正确的是()。
A.a+b/2a B.a+b/2*a C.(a+b)/2*a D.(a+b)/(2*a)
18.在下列程序设计语言中,属于人工智能语言的是()。
A.Python
B.VB
C.Pascal
D.C
19.Python语句 "ab"+"c"*2 的运行结果是()
A.abc2 B.abcabc C.abcc D.ababcc
20.下面哪个不是Python合法的标识符()
A.int_3 B.30XL C.self D._abc
21.我们在用Python进行数据分析的时候,经常会用到pandas库中的DataFrame,这是类似于()的数据结构()
A.一维表格B.二维表格C.三维表格D.四维表格22.Python中变量的命名遵循的规则,不正确的是()
A.以字母或下划线开头,后面可以是字母、数字或下划线。
B.区分大小写
C.以数字开头,后面可以是字母、数字或下划线。
D.不能使用保留字
23.李老师要建立一个“Python 程序设计”课程的学习网站,下面比较合理的制作流程是:()
①规划网站结构,并确定设计风格②发布网站③网页制作④了解网站运行环境,选择网站开发工具⑤确定网站主题,收集素材
A.①⑤③④②B.⑤①④②③C.①④⑤②③D.⑤①④③②24.现有如下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
25.关于Python的内存管理,下列说法错误的是()
A.变量不必事先声明B.变量无需先创建和赋值就可直接使用C.变量无须制定类型D.可以使用del释放资源
26.在Python中要生成随机数,应该使用()。
A.math 模块B.random模块
C.numpy 模块D.pygame 模块
27.在Python中,数据的输入是通过()来实现的。
A.input()函数B.print()函数C.bool()函数D.abs()函数28.下面Python代码运行后,a、b的值为( )
a=23
b=int(a/10)
a=(a-b*10)*10
b=a+b
print(a,b)
A.23 2B.30 20C.30 32D.3 2
29.在Python中,设a=2,b=3,表达式a<b and b>=3值是()
A.1 B.0 C.True D.False 30.Python不支持的数据类型有()。
A.char B.int C.float D.list
二、程序填空
31.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:____________。
(2)该程序用了哪一种算法结构:_____________。
(3)输出结果为“50$= 325.25人民币”。
则代码应该如何编写:____________。
32.编写Python程序实现如下功能:输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。
判断这一天是这一年的第几天。
以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。
特殊情况,当输入的年份是闰年时,2月份有29天。
闰年的判断方式如下:
I、能被4整除,但不能被100整除;
II、能被400整除;
(1)“2020-05-20”这一天是这一年的第_________天。
(2)编写Python代码如下,在划线处填入正确的代码
_________________
_________________
_________________
(3)加框处的代码有误,请改正。
改正:_________________
mon=[31, 28, 31, 30, 31, 30,31, 31, 30, 31, 30,31] #mon 中存储1-12每个月的天数
s=input("请输入年月日: ")
'month=int(s[5:7])
①
sum=0
for i in range( ② ):
sum+=mon[i]
sum+=day
if :
isleap=True
else:
isleap=False
if ③
sum+=1
print("这一天是当年的第" +str (sum)+''天'')
33.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。
以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。
def gs(n): #字符串长度统一
if len(n)>=5:
n=_____ #取字符串的前5个字符
else:
n=n+" "*(5-len(n))
return n
r=1000;x=100;y=15;z=0.8 #从系统中分别获取消费额度、满和减以及打折的数值
dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"] #某顾客所点菜品名称
num=[1,1,1,1,3] #某顾客所点菜品数量
mon=[46,45,68,16,1] #某顾客所点菜品单价
print("菜品名称","数量","小计")
_____
for i in range(len(dis)):
print(gs(dis[i]),num[i]," ",num[i]*mon[i])
s=s+num[i]*mon[i]
if s>=r:
total=s*z
else:
______
print("消费合计:",s)
print("应收现金:",total)
34.某字符转置算法描述如下:
将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);
每一段中K个数据与K*K转置矩阵进行乘法运算;
将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。
乘法运算规则如下:
第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K)
例如:字符串s=PYTHON,区块大小K=4,的转置过程如下:
(1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。
(2)请在划线处填入合适代码。
Private Sub Commandl_Click()
Dim a(1 To 100)As Integer ´存储字符串,长度不超过100个字符
Dim b(1 To 100)As Integer 存储转置矩阵,长度不超过 10*10
Dim c(1 To 100)As Long
Dim s As String, tmp As String
Dim k As Integer, t As Integer, i As Integer, j As Integer
Dim n As Integer, m As Integer, lens As Integer
s=Textl. Text ´在 Textl 中输入原始字符串
k=Val(Text 2.Text) ´在 Text 2 中输入区块大小K
Randomize
For i=1 To k^2
b(i)=Int(Rnd*9)+1
tmp=tmp十Str(b(i))
If i Mod k=0 Then
List 2. AddItem tmp
tmp="" .
End If
Next i
lens=Len(s):n=lens
For i=1 To n
tmp=Mid(s,i,1)
①__________
Listl. AddItem Str(a(i))
Next i
Do While n Mod k<>0
n=n十1
a(n)=0
Listl. AddItem Str(a(n))
Loop
For i=1 To n
m=(i―1)Mod k+1
t=1
Forj= ②__________
c(i)=a(j) * b((m-1) * k+t)+c(i)
t=t+1
Next j
Next i
For i=1 To n
List 3. AddItem Str(c(i))
Next i
s=″″
For i=1 To lens
③__________
s=s+Chr(t+64)}
Next i
Text 3.Text=s ´在Text 3 中输出转置后的字符串
End Sub
35.小敏有10万元本金,想要购买银行保证收益型理财产品。
每年到期后连本带利仍购买此种理财。
请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。
(例如输人:5.15%,输出:14年后收益超过本金。
)
1 s=input("请输入年利率:")
2 rate=float(s[:-1])*0.01
3 money=100000
4 year=0
5 while money<=200000:
6 money=round(),2)
7 year=year+1
8 print(year,"年后收益超过本金。
”)
(1)程序第6行下划线处应填入___________。
(2)程序第2行的作用是____________,并赋值给变量 rate。
(3)该程序主要是通过while实现____________结构。
36.完善程序实现如下功能并保存:
有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。
编写程序,计算出第5个人的年龄并显示。
def age(n):
if n == 1: c = ________
else: c = age(n - 1) - 3
return ________
print("第5人的年龄:",age(________))
input("运行完毕,请按回车键退出...")
37.程序设计:在舞会上,男生、女生各自排成一队。
舞会开始时,依次从男队和女队的队头各出一人配成舞伴。
跳完后的两人重新回到队尾。
例如:boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']
输出:
Turn1:(Alex,Ada)
Turn2:(Steven,Babs)
Turn3:(Jack,Danla)
Turn4:(Alex,jane)
……
Turn12:(Jack,jane)
代码如下:
boy=['Alex','Steven',‘Jack']
girl=['Ada','Babs','Danla','Jane']
for i in range(12):
x,y=① #出队
print(“Turn{:2}):({},{})".format(i+1,x,y))
boy.append( ② ) #再进队
girl.append( ③ ) #再进队
(1)程序代码中①处正确的代码是(_______)。
A.boy.pop(l).girl.pop(l) B.girl.pop(l),boy.pop(l)
C.boy.pop(0),girl.pop(0) D.girl.pop(0),boy.pop(0)
(2)程序代码中②处正确的代码是(_______)。
A.x B.y C.i D.i+1
(3)程序代码中③处正确的代码是(_______)。
A.x B.y C.i D.i+1
38.操作说明:编写一个程序实现以下功能,将程序以“Y:/3/3.py”作为文件名保存。
题目:设计100以内的数中能同时被3或5整除的个数。
39.操作说明:打开文件“Y:/1/1.py”,将程序补充完整,不得增加,删除语句、或改变程序原有结构,操作结束后保存。
以下程序段的功能是:根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!”,否则输出对应的英文星期的简称如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。
n=int(input(“请输入一个数:”))
list=[ “Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]
if ________:
print(“输入错误!”)
else:
print(________)
40.求50以内所有5的倍数的和。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B 选项。
解析:B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B
选项。
2.D
【详解】
本题主要考查程序设计语言。
python、VC、JAVA均属于高级语言,汇编语言属于低级语言,故本题选D选项。
解析:D
【详解】
本题主要考查程序设计语言。
python、VC、JAVA均属于高级语言,汇编语言属于低级语言,故本题选D选项。
3.C
【详解】
本题主要考查Python赋值语句。
变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
赋值语句是将等号右边的表达式赋给左边的变量,x=y=50等价于x=50,y=
解析:C
【详解】
本题主要考查Python赋值语句。
变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
赋值语句是将等号右边的表达式赋给左边的变量,x=y=50等价于x=50,y=50,故正确的赋值语句是x=y=50,故本题选C选项。
4.A
【详解】
本题主要考查Python表达式的运算。
50-50%6*5//2**2=50-2*5//4=50-10//4=48,故本题选A选项。
解析:A
【详解】
本题主要考查Python表达式的运算。
50-50%6*5//2**2=50-2*5//4=50-10//4=48,故本题选A 选项。
5.A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
解析:A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
6.A
【详解】
本题Python相关知识点
IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现
解析:A
【详解】
本题Python相关知识点
IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现。
故本题选A选项
7.D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
解析:D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
8.B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
解析:B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
9.A
【详解】
本题主要考查Python序列类型。
Python的序列类型包括:列表、元组和字典,故本题选A选项。
解析:A
【详解】
本题主要考查Python序列类型。
Python的序列类型包括:列表、元组和字典,故本题选A 选项。
10.A
【详解】
本题主要考查Python程序的执行。
x=3,不满足x>3,执行y=3*x+1=10,故本
题选A选项。
解析:A
【详解】
本题主要考查Python程序的执行。
x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。
11.A
【详解】
本题考查的是计算机程序语言。
计算机程序语言可以分为:机器语言、汇编语言、高级语言。
其中机器语言是由0和1组成,可以被计算机直接执行。
故本题应选A。
解析:A
【详解】
本题考查的是计算机程序语言。
计算机程序语言可以分为:机器语言、汇编语言、高级语言。
其中机器语言是由0和1组成,可以被计算机直接执行。
故本题应选A。
12.D
【详解】
本题主要考查Python基本知识。
Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。
要创建Python程序文件,可以利用IDLE中的“文件“菜单。
可使用exit(
解析:D
【详解】
本题主要考查Python基本知识。
Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。
要创建Python程序文件,可以利用IDLE中的“文件“菜单。
可使用exit()或quit()退出Python,因此D选项正确。
【点睛】
13.C
【详解】
本题主要考查Python表达式的计算。
“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“解析:C
【详解】
本题主要考查Python表达式的计算。
“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“print(100-33*5%3)”语句输出的是100,故本题选C选项。
14.D
【详解】
本题考查程序设计语言的相关知识点
程序设计高级语言包括Python、Basic、C++等,伪代码不能执行,不是程序设计高级语言。
故本题选D选项
解析:D
【详解】
本题考查程序设计语言的相关知识点
程序设计高级语言包括Python、Basic、C++等,伪代码不能执行,不是程序设计高级语言。
故本题选D选项
15.C
【详解】
本题考查的是python中print函数。
print(str)#str是任意一个字符串,数字等。
“3+6”是字符串故输出为:3+6,选项C正确。
解析:C
【详解】
本题考查的是python中print函数。
print(str)#str是任意一个字符串,数字等。
“3+6”是字符串故输出为:3+6,选项C正确。
16.C
【详解】
本题主要考查Python代码发布。
创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在
解析:C
【详解】
本题主要考查Python代码发布。
创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件;已经构建发布的模块必须先导入程序,然后才能使用。
导入时可以使用语句“import mymodule”,也可以用“from mymodule import *”;下载安装,使用“python setup.py install”命令安装到你的Python本地副本中,故本题选C选项。
17.D
【详解】
本题主要考查Python表达式。
Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
解析:D
【详解】
本题主要考查Python表达式。
Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
18.A
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
解析:A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
19.C
【详解】
本题主要考查Python表达式的运算。
“ab”、“c”是字符型数据类型,
“c”*2=“cc”,故 "ab"+"c"*2 的运行结果是abcc,故本题选C选项。
解析:C
【详解】
本题主要考查Python表达式的运算。
“ab”、“c”是字符型数据类型,“c”*2=“cc”,故"ab"+"c"*2 的运行结果是abcc,故本题选C选项。
20.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
解析:B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
21.B
【详解】
本题考查的是pandas库。
pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。
DataFrame即有行索引也有列索引,
解析:B
【详解】
本题考查的是pandas库。
pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。
DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
故本题应选B。
22.C
本题考查的是变量名的命名规则。
Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。
故选项C不正确。
解析:C
【详解】
本题考查的是变量名的命名规则。
Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。
故选项C不正确。
23.D
【详解】
本题考查的是网站制作流程相关知识。
建立网站首先是要确定网站的主题,收集素材,规划网站,然后选择网站的开发工具进行网页制作,最后进行网站的发布。
故选项D正确。
解析:D
【详解】
本题考查的是网站制作流程相关知识。
建立网站首先是要确定网站的主题,收集素材,规划网站,然后选择网站的开发工具进行网页制作,最后进行网站的发布。
故选项D正确。
24.BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到
p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。
25.B
【详解】
本题主要考查Python的变量。
变量需要先创建和初始化,才可以使用,故本题选B选项。
解析:B
【详解】
本题主要考查Python的变量。
变量需要先创建和初始化,才可以使用,故本题选B选项。
26.B
【详解】
本题主要考查Python随机函数。
math 模块提供了许多对浮点数的数学运算函数;random模块提供许多生成随机数的函数;numpy 模块支持大量的维度数组与矩阵运算,此外也针对数组
解析:B
【详解】
本题主要考查Python随机函数。
math 模块提供了许多对浮点数的数学运算函数;random 模块提供许多生成随机数的函数;numpy 模块支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,pygame 模块专为电子游戏设计,包含图像、声音等。
故在Python中要生成随机数,应该使用random模块,故本题选B选项。
27.A
【详解】
本题主要考查Python输入函数。
在Python中,input()是输入函数,print ()是输出打印函数,bool()函数用于判断真假,abs()求绝对值函数,故本题选A选项。
解析:A
【详解】
本题主要考查Python输入函数。
在Python中,input()是输入函数,print()是输出打印函数,bool()函数用于判断真假,abs()求绝对值函数,故本题选A选项。
28.C
【详解】
本题主要考查Python程序执行。
a=23,b=int(a/10)=2,a=(a-b*10)*10=30,
b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。
解析:C
【详解】
本题主要考查Python程序执行。
a=23,b=int(a/10)=2,a=(a-b*10)*10=30,b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。
29.C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C 选项正确。
【点睛】
解析:C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C选项正
【点睛】
30.A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
解析:A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
二、程序填空
31.形参分支结构(选择结构) if条件中的return语句改为return
print(money,"$=",money*6.505,"人民币"),其他elif语句类似
【详解】
本题主要考查Python程序执行与调试。
①分析代码可知,参数currency指:形参。
②由代码可知,该程序用了条件分支结构。
③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似。
32.day=int(s[8:])或day=int(s[-2:]) 0,month-1 isleap and month>2 year%4==0 and year%100!=0 or year%400==0
【详解】
本题主要考查Python程序的执行与调试。
①2020年是闰年,2月是29天,故“2020-05-20”这一天是这一年的第31+29+31+30+20=141天。
②变量s是字符串型,下标从0开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:从左边开始截取,也可以从右边截取,故此处填day=int(s[8:])或day=int(s[-2:])。
③通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。
④变量isleap标记是不是闰年,如果isleap值为真且month>2,则sum需要递增1,故填isleap and month>2。
⑤由题干闰年判断条件,可知加框处应改为year%4==0 and year%100!=0 or year%400==0。
33.n[0:5] s=0 total=s-s//x*y
【详解】
本题主要考查Python程序的执行与调试。
①此处通过条件分支结构取字符串n的前5个字符,当 len(n)>=5时,取n= n[0:5],即索引为0、1、2、3、4,故填n[0:5]。
②用变量s 统计消费合计,初值为0,故填s=0。
③此处else部分处理1000元以下享受每满100减15优惠。
应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合计,故填total=s-s//x*y。
34.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1 ②i–m+1To i–m+k ③t=(c(i)–1) Mod 26+
【详解】
本题考查乘法运算规则的理解以及转置矩阵中行列数据的读取。
(1)根据算法描述,图中(1)处的值为15×5+14×1+0×2+0×9=89。
(2)程序先随机生成数组b,其下标为1到k×k,并以行列的形式显示在列表框list2中(即为转置矩阵),然后读取大写字符串s中的每个字符,并将每个字符转换成相应字母表中的位置存储在数组a中。
代码①处为字符转成相应的字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)的值。
根据题干描述“字符A~Z对应数值1~26”,此处为将tmp获取的字符通过Asc函数进行转换,语句为“a(i)=Asc(tmp)-64”,还可以是“a(i)=Asc(tmp)-Asc
(″A″)+1”。
代码②处为循环变量j的取值范围,根据乘法规则,变量j的范围是每一段中的1到k之间的值,需要获取每一段的起始位置下标,结合上文得到的m值,可得循环变量的范围是“i-m+1 To i-m十k”。
代码③处是将计算结果c(i)按原长度转换成相应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod 26,则导致数值26的结果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod 26+1”。
35.money*(1+rate) 将输入的字符串年利率由百分制转换为浮点数循环
【详解】
本题主要考查Python程序设计。
①round(x,n)函数是将x取n位,此处是计算当前年份的收益,收益=本金+本金*年利率,故填money*(1+rate),并将结果取2位。
②程序第2行的作用是将输入的字符串年利率由百分制转换为浮点数,并赋值给变量 rate。
③该程序主要是通过while实现循环结构。
36.c 5
【详解】
本题主要考查Python程序执行与调试。
①第一个人38岁,n标记第几个人,变量c保存年龄,当n=1时,c=38,故第一空填38。
②后面的人都比前一个人小3岁,故当n不等于1时,调用递归函数age, c = age(n - 1) - 3,最后返回第n个人的年龄c,第二空填c。
③此处是返回第5个人的年龄,即age(5),填5。
37.C A B
【详解】
本题主要考查队列数据结构及Python程序。
①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。
②队列入队使用append方法追加到队列尾,此处是男生入队boy.append(x),故选A选项。
③同理,此处是女生入队girl.append(y),故选B选项。
38.c=0
print("能同时被3或5整除的数是:",end=" ")
for i in range(1,101):
if i%3==0 and i%5==0:
c+=1
print(i,end=" ")
print("")
print("能同时被3或5整除的个数是:"+str(c))
【详解】
本题主要考查Python程序设计。
设计100以内的数中能同时被3或5整除的个数,使用for循环变量i的范围是从1~99,用变量c统计能同时被3或5整除的个数,如果满足if 判断条件,则变量c递增,循环完输出c的值,具体代码及运行结果如下:
39.n<1 or n>7 list[n-1]
【详解】
本题主要考查Python程序调试。
①输入的数字不是在范围(1至7)输出“输入错误!”,故此处if判断条件是n<1 or n>7。
②列表的索引是从0开始,即列表list索引是从0~6,而n的范围是从1~7,故此处填list[n-1]。
40.
【详解】
本题主要考查Python程序设计。
可以采用Python程序设计语言实现50以内所有5的倍数的和,可以结合while循环以及if条件分支结构实现,具体代码及实现如下:。