python试题答案精品练习.docx
《python试题答案精品练习.docx》由会员分享,可在线阅读,更多相关《python试题答案精品练习.docx(23页珍藏版)》请在冰豆网上搜索。
![python试题答案精品练习.docx](https://file1.bdocx.com/fileroot1/2022-12/12/a638a901-c739-4427-a37f-20ed7497c40e/a638a901-c739-4427-a37f-20ed7497c40e1.gif)
python试题答案精品练习
python试题答案精品练习
一、选择题
1.下列选项中,能作为python程序变量名的是()
A.s%1B.3stuC.whileD.dist
2.以下Python程序运行后的输出结果为()
A.0B.45C.46D.362880
3.12Python语言语句块的标记是()
A.分号B.逗号C.缩进D./
4.在教科书中利用Python探究电流和电压、电阻的关系实验里,除了可以通过书中的JupyterNotebook外,处理数据还可以通过下列()工具实现。
A.PythonIDLEB.XmindC.网络画板D.几何画板
5.在python中,下列属于字符串常量的是()
A."python"B.3.14C.cntD.2018
6.下图是python34安装后目录文件的磁盘文件存储结构,下列说法错误的是()
A.图中文件存储结构为树结构,python34为树的根结点(父节点)
B.图中python34根结点有4个子结点
C.图中python34根结点下有5个子树(子结点)
D.图中Tools是python34的子树(子结点)
7.关于python程序设计语言,下列说法不正确的是()
A.python是一种解释型、面向对象的计算机程序设计语言
B.python支持Windows操作系统,但不支持Linux系统
C.python源文件以***.py为扩展名
D.python文件不能直接在命令行中运行
8.在Python中,显示出信息x,并要求输入数据的是()。
A.abs(x)B.float(x)C.print(x)D.input(x)
9.下列选项中,属于Python输出函数的是()。
A.random()B.print()C.sqrt()D.input()
10.要实现将实数型变量a的值保留三位小数,以下python可以实现的是()
A.a%0.001B.a//0.001C.round(a,3)D.round(3,a)
11.Python的序列类型不包括下列哪一种?
()
A.字符串B.列表C.元组D.字典
12.下列可以导入Python模块的语句是()
A.importmodule
B.inputmodule
C.printmodule
D.defmodule
13.在Python中,“print(100-33*5%3)”语句输出的是()
A.34B.67C.100D.1
14.在Python中,Print(abs(-16//5))的执行结果是()
A.2.4B.3C.4D.-2.4
15.运行下列Python程序,输出结果为0,则空白处应为()
a=14
b=7
c=_______
print(c)
A.a-bB.a+bC.a/bD.a%b
16.已知字符串a="python",则a[1:
3]的值为()
A."pyth"B."pyt"C."py"D."yt"
17.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为()
A.=B.==C.:
=D.<>
18.下列序列拼接错误的是()
A.list=[None]*4
B.msg=“Python”,”语言”
C.tup=“/”.join((“123”,”234”))
D.set={1,2,3}+{4,5,6}
19.在PythonIDLE编辑器中书写正确的表达式()
A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r
20.下列Python程序段
a=0
b=4
ifb>a:
a=3*b
else:
a=10
程序运行后,a的值是()
A.10B.0C.12D.4
21.检测输入的四位整数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
22.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是()
A.设计出解决问题的算法B.设计出解决问题的PPT
C.编写出Python代码D.选择一种编程软件
23.下面选项中对Python操作描述错误的是()
A.x1+x2连接列表x1和x2,生成新列表
B.x*n将列表x复制次,生成新列表
C.Min(x)列表x中最大数据项
D.Len(x)计算列表中成员的个数
24.下列与数学表达式
对应的python表达式,正确的是( )。
A.(-b+math.sqrt(b*b–4*a*c))/a*a
B.-b+math.sqrt(b*b–4*a*c)/2*a
C.(-b+math.sqrt(b*2–4*a*c))/(2*a)
D.(-b+math.sqrt(b*b–4*a*c))/(2*a)
25.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于()
A.算术表达式B.关系表达式C.逻辑表达式D.日期表达式
26.关于下列Python程序段的说法正确的是()
k=1
while1:
k+=1
A.存在语法错误,不能执行B.执行1次C.执行无限次D.执行k次
27.以下是猜数游戏的Python程序,请你补全代码:
请选择适当的代码填入程序①处。
()
A.forB.printC.elifD.input
28.下列Python程序段运行的结果是()
x=0
foriinrange(1,20,3):
x=x+i
print(x)
A.80B.190C.70D.210
29.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()
A.3B.4C.5D.6
30.下列不被python所支持的数据类型是()
A.charB.floatC.intD.list
二、程序填空
31.若两个素数之差为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)+"对双胞胎数")
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
32.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。
许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。
但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。
小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。
为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。
现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。
于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。
A
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
11
66
116
329
438
582
652
714
756
925
B
E10
E9
E8
E7
E6
E5
E4
E3
E2
E1
35
116
215
271
309
428
576
772
806
950
Python程序如下:
A=[11,66,116,329,438,582,652,714,756,925]
B=[35,116,215,271,(5)__,428,576,772,806,950]
算法一:
myRank=
i=0
j=0
while(iif(A[i]
(6)______
i+=1
else:
myRank.append(B[j])
j+=1
while(imyRank.append(A[i])
i+=1
else:
while((7)______):
myRank.append(B[j])
j+=1
print(myRank)
算法二:
myRank=[0]*(len(A)+len(B))
i=0
j=0
k=0
while((8)_____):
k=i+j
if(i>=len(A)):
myRank[k]=B[j]
j+=1
elif(j>=len(B)):
myRank[k]=A[i]
i+=1
elif((9)_____):
myRank[k]=A[i]
i+=1
else:
myRank[k]=B[j]
j+=1
print(myRank)
33.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。
为求解规模为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)
34.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。
35.编写程序,找到并输出100以内的偶数个数。
36.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:
能被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”为当年的第_____天。
37.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
38.完善程序。
以下是计算S=1+6+11+…+101的程序代码。
请你在
处填写正确的语句。
s=0
k=1
while(k<=101)
__
s=0
k=1
while(k<101):
k=k+5
s=s+k
print(s+1)
39.冠军在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("运行完毕,请按回车键退出...")
40.请在空格处填写正确的代码,使程序完善。
实现功能:
用辗转相除法求解两个正整数的最大公约数。
x=int(input('请输入第一个正整数:
'))
y=int(input('请输入第二个正整数:
'))
m=max(x,y)#找出x,y中的最大值
n=min(x,y)#找出x,y中的最小值
r=m%n#求得最大值除以最小值后的余数
whiler!
=0:
#如果余数不等0,则进行以下循环
m=________#把最小值赋给m
n=_________#把余数赋给n
r=m%n#求得最大值除以最小值后的余数
print('这两个数的最大公约数为:
',______)
input("运行完毕,请按任意键退出....")
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故dist能作为python程序变量名,故本题选D选项。
解析:
D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故dist能作为python程序变量名,故本题选D选项。
2.A
【详解】
本题考查的是Python循环语句。
range(10)是[0,10)的整数。
故m=0*1*2*3*4*5*6*7*8*9=0,选项A正确。
解析:
A
【详解】
本题考查的是Python循环语句。
range(10)是[0,10)的整数。
故m=0*1*2*3*4*5*6*7*8*9=0,选项A正确。
3.C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
解析:
C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
4.A
【详解】
本题Python相关知识点
IDLE是Python所内置的开发与学习环境,故除了可以通过书中的JupyterNotebook外,处理数据还可以通过PythonIDLE工具实现
解析:
A
【详解】
本题Python相关知识点
IDLE是Python所内置的开发与学习环境,故除了可以通过书中的JupyterNotebook外,处理数据还可以通过PythonIDLE工具实现。
故本题选A选项
5.A
【详解】
本题主要考查Python数据类型。
"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。
解析:
A
【详解】
本题主要考查Python数据类型。
"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。
6.B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子
解析:
B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子树(子结点);图中Tools是python34的子树(子结点),故本题选B选项。
7.B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.py为扩展名;python文件不能直接在命令行中运行,故本题选B选项。
8.D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
9.B
【详解】
本题考查的是Python函数。
print()是Python输出函数;input()是Python输入函数。
故选项B正确。
解析:
B
【详解】
本题考查的是Python函数。
print()是Python输出函数;input()是Python输入函数。
故选项B正确。
10.C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
11.A
【详解】
本题主要考查Python序列类型。
Python的序列类型包括:
列表、元组和字典,故本题选A选项。
解析:
A
【详解】
本题主要考查Python序列类型。
Python的序列类型包括:
列表、元组和字典,故本题选A选项。
12.A
【详解】
本题主要考查Python模块的导入。
Python模块导入的关键字是import,故本题选A选项。
解析:
A
【详解】
本题主要考查Python模块的导入。
Python模块导入的关键字是import,故本题选A选项。
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.C
【详解】
本题主要考查Python表达式的运算。
“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。
解析:
C
【详解】
本题主要考查Python表达式的运算。
“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。
15.D
【详解】
本题考查Python程序执行
输出c=0。
a-b=7,a+b=21,a/b=2,a%b=0。
故本题选D选项
解析:
D
【详解】
本题考查Python程序执行
输出c=0。
a-b=7,a+b=21,a/b=2,a%b=0。
故本题选D选项
16.D
【详解】
本题主要考查Python字符串。
a[1:
3]取字符串索引第一个到第三个字符(不包括第三个),故a[1:
3]的值为"yt",故本题选D选项。
解析:
D
【详解】
本题主要考查Python字符串。
a[1:
3]取字符串索引第一个到第三个字符(不包括第三个),故a[1:
3]的值为"yt",故本题选D选项。
17.B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
解析:
B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
18.D
【详解】
本题主要考查Python序列拼接运算。
set={}生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。
解析:
D
【详解】
本题主要考查Python序列拼接运算。
set={}生成的是字典类型,而不是集合类型,不支持使用+,故本题选D选项。
19.D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省