Python期末试题A 精品word练习.docx
《Python期末试题A 精品word练习.docx》由会员分享,可在线阅读,更多相关《Python期末试题A 精品word练习.docx(27页珍藏版)》请在冰豆网上搜索。
Python期末试题A精品word练习
Python期末试题A精品word练习
一、选择题
1.下列定义变量的python程序语句变量赋值错误的是()
A.x=y=1B.x,y=1,2C.x==1D.x=1,2
2.在python语言中,下列表达式中不是关系表达式()
A.m==nB.m>=nC.mornD.m!
=n
3.在Python中,表达式2**3的结果是()
A.5B.8C.6D.3
4.在Python中,返回x的绝对值的函数是()。
A.abs(x)B.bin(x)C.all(x)D.input(x)
5.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1)B.x,y=y,xC.x=1;y=1D.x=y=1
6.运行如下Python程序,结果为()。
A.1B.3C.6D.18
7.关于Python3.8基础知识的说法中,不正确的是()
A.支持中文做标识符
B.Python标识符不区分字母的大小写
C.Python命令提示符是>>>
D.命令中用到的标点符号只能是英文字符
8.根据Python中变量命名遵循的规则,正确的是()
A.char21B.2020PyC.PythonD.name.ch
9.如下Python程序段
foriinrange(1,4):
forjinrange(0,3):
print("Python")
语句print("Python")的执行次数是()
A.3B.4C.6D.9
10.在Python中,显示出信息x,并要求输入数据的是()。
A.abs(x)B.float(x)C.print(x)D.input(x)
11.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1orx<-1B.x>-1orx<1C.x>1andx<-1D.x>-1andx<1
12.以下Python程序段执行后,输出结果为()。
A.m不能被3整除B.29不能被3整除C.29能被3整除D.m能被3整除
13.以下python程序段运行后,x和st的值分别是()
x= 123 + 678
st = "123" + "678"
A.123678"123678"B.123678"801"C.801"123678"D.801"801"
14.下面不是python特性的是():
A.免费的B.简单易学C.可移植性好D.是低级语言
15.下列Python表达式的值为偶数的是()
A.12*3%5B.len(“Welcome”)
C.int(3.9)D.abs(-8)
16.Python的关系运算符中,用来表示不等于的符号是()
A.==B.!
=C.>=D.<=
17.在PythonIDLE编辑器中书写正确的表达式()
A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r
18.检测输入的四位整数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
19.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是()
A.(x%10)*10+x//10B.(x%10)//10+x//10
C.(x/10)%10+x//10D.(x%10)*10+x%10
20.Python语句中以r或R开头的字符串表示原始字符串,则print(r"\nGood")的运行结果是()
A.新行和字符串GoodB.r"\nGood"C.\nGoodD.字符r、新行和字符串Good
21.我们在用Python进行数据分析的时候,经常会用到pandas库中的DataFrame,这是类似于()的数据结构()
A.一维表格B.二维表格C.三维表格D.四维表格
22.Python中变量的命名遵循的规则,不正确的是()
A.以字母或下划线开头,后面可以是字母、数字或下划线。
B.区分大小写
C.以数字开头,后面可以是字母、数字或下划线。
D.不能使用保留字
23.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是()。
A.for循环语句中步长为3B.语句s=0应改为s=1
C.语句s=s+i共循环执行了100次D.程序使用了循环结构
24.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言(
)。
A.PythonB.C++C.VBD.C
25.下列与数学表达式
对应的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)
26.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
27.下面Python代码运行后,a、b的值为()
a=23
b=int(a/10)
a=(a-b*10)*10
b=a+b
print(a,b)
A.232B.3020C.3032D.32
28.已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为()
A.5B.34C.7D.12
29.在Python中,设a=2,b=3,表达式a>bandb>=3的值是()
A.1B.-1C.TrueD.False
30.为了提高程序的可读性,可以在该语句后面添加注释语句,Python程序中用作注释的标识符是()
A.:
B.#C.,D.!
二、程序填空
31.编写程序。
如图所示的算法,请用Python程序写出实现该算法相应的代码。
32.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:
字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
s=input("请输入字符串s:
")
_______
flag=False
result=""
foriinrange(0,k-1):
if___________________:
result=result+s[i]+"-"
flag=True
eliford(s[i])!
=ord(s[i+1])-1:
result=result+s[i]
_____
result=result+s[i+1]
print("缩写后的字符串为:
",result)
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
33.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
34.操作说明:
打开文件“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(________)
35.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
36.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
37.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
”))
foriinrange(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
38.调试程序。
请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
forfruitinfruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
39.将下列程序代码补充完整:
某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。
该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;超出范围,对身体反而会有损伤。
男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率,补充程序帮他(她)计算最适宜的运动心率。
age=float(input('请输入age='))
HRrest=float(input('请输入HRrest='))
gender=input(“请输入maleorfemale:
”)
if____________________:
____________________
else:
_____________________
low=(n-age-HRrest)*0.6+HRrest
high=(n-age-HRrest)*0.8+HRrest
print('最适宜的心率是:
',low,'~',high)
input(“运行完毕,请按回车键退出...”)
40.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。
其内容是:
公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
(1)请在空格处填写正确的代码,使程序完善实现以下功能。
money=100#一共100文钱
num=100#一共100只鸡
cock_price=5#公鸡价格5文
hen_price=3#母鸡价格3文
threechick_price=1#3只小鸡1文
forcock_numinrange(1,_______):
#公鸡只数可能为1-20
forhen_numinrange(1,_________):
#母鸡只数可能为1-33
forchick_numinrange(1,101):
#(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price
num1=cock_num+hen_num+chick_num
ifmoney1==moneyandnum1==num:
print(cock_num,hen_num,__________)
input("运行完毕,请按回车键退出...")
(2)运行程序,运行结果如图所示。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python赋值语句。
x==1是条件判断语句(判断x是否等于1);选项A结果是x=1,y=1;选项B结果是x=1,y=2;选项D结果是x=(1,2),故本题选C选项。
解析:
C
【详解】
本题主要考查Python赋值语句。
x==1是条件判断语句(判断x是否等于1);选项A结果是x=1,y=1;选项B结果是x=1,y=2;选项D结果是x=(1,2),故本题选C选项。
2.C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
解析:
C
【详解】
本题主要考查python的表达式。
or属于逻辑运算符,morn不是关系表达式。
故本题选C选项。
3.B
【详解】
本题主要考查Python基本运算符。
“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
解析:
B
【详解】
本题主要考查Python基本运算符。
“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
4.A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有
解析:
A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有元素是否都为TRUE,input(x)是输入函数,故本题选A选项。
5.A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
解析:
A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
6.C
【详解】
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
7.B
【详解】
本题主要考查Python语法。
Python3.8支持中文做标识符,Python标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故本题选B选项
解析:
B
【详解】
本题主要考查Python语法。
Python3.8支持中文做标识符,Python标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故本题选B选项。
8.A
【详解】
本题考查的是Python变量名的命名规则。
Python中变量命名规则:
由字母、数字、下划线组成,不能以数字开头,系统保留字不能作为变量名。
故本题应选A。
解析:
A
【详解】
本题考查的是Python变量名的命名规则。
Python中变量命名规则:
由字母、数字、下划线组成,不能以数字开头,系统保留字不能作为变量名。
故本题应选A。
9.D
【详解】
本题主要考查Python程序的执行。
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序的执行。
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。
10.D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
11.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
12.B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
解析:
B
【详解】
本题考查的是Python选择语句。
print是输出语句,%是求余,!
=是不等于,29%3=2,条件不成立,则执行输出29不能被3整除。
故本题应选B。
13.C
【详解】
本题主要考查Python程序的执行。
x=123+678=801,st="123"+"678"="123678"(字符串类型相加等于字符串的拼接),故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
x=123+678=801,st="123"+"678"="123678"(字符串类型相加等于字符串的拼接),故本题选C选项。
14.D
【详解】
本题主要考查Python的特性。
Python特性有:
免费的、简单易学、可移植性好、是高级语言,故本题选D选项。
解析:
D
【详解】
本题主要考查Python的特性。
Python特性有:
免费的、简单易学、可移植性好、是高级语言,故本题选D选项。
15.D
【详解】
本题主要考查Python表达式。
12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式。
12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。
16.B
【详解】
本题主要考查Python关系运算符。
用来表示不等于的符号是“!
=”,“==”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。
解析:
B
【详解】
本题主要考查Python关系运算符。
用来表示不等于的符号是“!
=”,“==”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。
17.D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:
D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
18.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选项。
19.A
【详解】
本题主要考查Python表达式。
当x=13时,(x%10)*10+x//10=31,(x%10)//10+x//10=1,(x/10)%10+x//10=2,(x%10)*10+x%1
解析:
A
【详解】
本题主要考查Python表达式。
当x=13时,(x%10)*10+x//10=31,(x%10)//10+x//10=1,(x/10)%10+x//10=2,(x%10)*10+x%10=33,故本题选A选项。
20.C
【详解】
本题主要考查Python输出语句。
“\n”表示换行,以r或R开头的字符串表示原始字符串,故print(r"\nGood")的运行结果是\nGood,故本题选C选项。
解析:
C
【详解】
本题主要考查Python输出语句。
“\n”表示换行,以r或R开头的字符串表示原始字符串,故print(r"\nGood")的运行结果是\nGood,故本题选C选项。
21.B
【详解】
本题考查的是pandas库。
pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。
DataFrame即有行索引也有列索引,
解析:
B
【详解】
本题考查的是pandas库。
pandas库中的DataFrame是一个二维的、大小可变的、成分混合的、具有标签化坐标轴(行和列)的表数据结构。
DataFrame即有行索引也有列索引,可以被看做是由Seri