试题PYTHON知识点汇总.docx
《试题PYTHON知识点汇总.docx》由会员分享,可在线阅读,更多相关《试题PYTHON知识点汇总.docx(16页珍藏版)》请在冰豆网上搜索。
试题PYTHON知识点汇总
试题PYTHON知识点汇总
一、选择题
1.在Python程序设计语言中,表示整除的符号是()
A./B.%C.modD.//
2.已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为()
A.5B.34C.7D.12
3.运行下列Python程序
i=1
s=1
while①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入()
A.i<=7B.i<7C.i>=7D.i>7
4.在python计数循环中,列表正确的输写方式是()。
A.(1,2,3)B.(1,2.3)C.[1,2.3]D.[1,2,3]
5.下列与数学表达式
对应的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)
6.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。
这段源代码属于()。
A.程序B.软件C.指令D.命令
7.整型变量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
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="Doingisbetterthansaying."
print(r"\n"+a[:
15])
该程序运行后,输出的结果是()
A.直接输出:
'\nDoingisbetter'
B.直接输出:
\nDoingisbetterth
C.直接输出:
\nDoingisbetter
D.先换行,然后在新的一行中输出:
Doingisbetter
10.下面哪个不是Python合法的标识符()
A.int_3B.print
C.countD.__name__
11.下列定义变量的python程序语句变量赋值错误的是()
A.x=y=1B.x,y=1,2C.x==1D.x=1,2
12.下列选项中,能作为python程序变量名的是()
A.s%1B.3stuC.whileD.dist
13.Python中的数据类型float表示()
A.布尔型B.整型C.字符串型D.浮点型
14.下列Python程序运行后的输出结果是()。
s=0
foriinrange(1,10):
s=s+i
print("s=",s)
A.s=35B.s=45C.s=55D.s=65
15.以下()是python文件
A.*.mp3B.*.xlsC.*.pptD.*py
二、程序填空
16.编写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
foriinrange(②):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if③
sum+=1
print("这一天是当年的第"+str(sum)+''天'')
17.密码强度检测。
编写python程序,实现如下功能:
输入要检测的密码,输出密码强度结果。
密码字符分为数字字符、字母和其他符号三类。
密码强度的检测方法为:
若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!
”。
若密码位数在8位及以上,则进行强度检测:
若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。
(1)若输入“12abcd5!
”,则输出结果为_________(选填,选字母:
A.密码位数不能少于8位,请重新输入!
/B.弱/C.中等/D.强)
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
password=input(“请输入要检测的密码:
”)
①_______________
ifn<8:
print(“密码位数不能少于8位,请重新输入!
”)
else:
n1=0
n2=0
n3=0
foriinrange(0,n,1):
②_______
if“0”<=ch<=“9”:
n1=1
elif“a”<=ch<=“z”or“A”<=ch<=“Z”:
n2=1
else:
n3=1
③_____
ifx==3:
print(“强”)
elifx==2:
print(“中等”)
else:
print(“弱”)
18.小敏有10万元本金,想要购买银行保证收益型理财产品。
每年到期后连本带利仍购买此种理财。
请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。
(例如输人:
5.15%,输出:
14年后收益超过本金。
)
1s=input("请输入年利率:
")
2rate=float(s[:
-1])*0.01
3money=100000
4year=0
5whilemoney<=200000:
6money=round(),2)
7year=year+1
8print(year,"年后收益超过本金。
”)
(1)程序第6行下划线处应填入___________。
(2)程序第2行的作用是____________,并赋值给变量rate。
(3)该程序主要是通过while实现____________结构。
19.现在有一个程序用来解决以下问题:
如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。
tc=1020
c=0
while______________:
tc=tc-(tc/2+2)
_____________
print(c)
20.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解垃圾的分类情况,建立了以下四类列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。
list1=["玻璃瓶","旧书","金属","纸板箱","旧衣服","易拉罐"]
list2=["胶片","消毒水","纽扣电池","水银温度计","过期药水","泡沫塑料"]
list3=["动物内脏","菜叶菜梗","过期食品","香蕉皮","果壳"]
根据现有列表,完成以下问题:
(1)写出从列表list3中取出“过期食品”的表达式:
___________________________________________________________________________
(2)写出从list1中截取["旧书","金属","纸板箱"]这一段的表达式:
___________________________________________________________________________
(3)现又发现一个新的列表如下:
list4=["过期化妆品","过期药品","杀虫剂"],经过判断,里面存放的为有害垃圾,如何将该列表中的元素添加到list2中,请写出相关的表达式:
__________________________________________________________________________
(4)小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到列表list1中:
__________________________________________________________________________
21.完善程序实现以下功能并保存。
输入一元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0)
#请不要更改源程序的结构,删除原题里的①、②。
填写正确的代码,使程序完善
importmath
a=float(input("请输入方程系数a(!
=0):
"))
b=float(input("请输入方程系数b:
"))
c=float(input("请输入方程系数c:
"))
delta=b*b-4*a*c
ifdelta>________:
x1=(-b+math.sqrt(delta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
print("方程有两个不同的解",x1,x2)
elifdelta==0:
x1=________
print("方程有两个相同的解",x1)
else:
print("方程无解")
input("运行完毕,请按回车键退出...")
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python中的运算符。
"/"是除法运算,“%”是取余运算,mod是求余函数,“//”是整除运算,因此D选项正确。
【点睛】
解析:
D
【详解】
本题主要考查Python中的运算符。
"/"是除法运算,“%”是取余运算,mod是求余函数,“//”是整除运算,因此D选项正确。
【点睛】
2.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选项。
3.A
【详解】
本题考查循环语句。
在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。
解析:
A
【详解】
本题考查循环语句。
在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。
4.D
【详解】
本题考查的是python列表相关知识。
列表参数必须是由方括号括起来的列表,参数之间用分号。
故选项D正确。
解析:
D
【详解】
本题考查的是python列表相关知识。
列表参数必须是由方括号括起来的列表,参数之间用分号。
故选项D正确。
5.D
【详解】
本题考查的是Python表达式。
sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。
表示为(-b+math.sqrt(b*b–4*a
解析:
D
【详解】
本题考查的是Python表达式。
sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。
表示为(-b+math.sqrt(b*b–4*a*c))/(2*a)。
6.A
【详解】
本题考查的知识点是程序概念。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
解析:
A
【详解】
本题考查的知识点是程序概念。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
指令是指示计算机执行某种操作的命令。
一个指令通常由两部分组成:
操作码+地址码。
根据它们的定义,可以得出题目中的源代码属于程序。
故A选项正确。
7.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选项。
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.C
【详解】
本题主要考查Python程序运行。
r标识\后面的字符不转义,a[:
15]表示从a的右边往左第15位到最左边全部输出,故该程序运行后,输出的结果是直接输出:
\nDoingis
解析:
C
【详解】
本题主要考查Python程序运行。
r标识\后面的字符不转义,a[:
15]表示从a的右边往左第15位到最左边全部输出,故该程序运行后,输出的结果是直接输出:
\nDoingisbetter,故本题选C选项。
10.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
print是Python的关键字,不是合法的标识符,故本题选B选项。
11.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选项。
12.D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故dist能作为python程序变量名,故本题选D选项。
解析:
D
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故dist能作为python程序变量名,故本题选D选项。
13.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
14.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选项。
15.D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
解析:
D
【详解】
本题考查的是文件类型相关知识。
Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
二、程序填空
16.day=int(s[8:
])或day=int(s[-2:
])0,month-1isleapandmonth>2year%4==0andyear%100!
=0oryear%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,故填isleapandmonth>2。
⑤由题干闰年判断条件,可知加框处应改为year%4==0andyear%100!
=0oryear%400==0。
17.Dn=len(password)ch=password[i]x=n1+n2+n3
【详解】
本题主要考查Python程序的执行与调试。
①“12abcd5!
”含有三类字符,则输出结果为强,选D选项。
②此处取密码的长度,将其赋给变量n,len()是返回字符串的长度,故填n=len(password)。
③ch是取密码的每一位进行判断,故此处填ch=password[i]。
④当出现数字时n1=1,当出现字母时n2=1,当出现其他字符时n3=1,x用来统计有几类字符,故此处填x=n1+n2+n3。
18.money*(1+rate)将输入的字符串年利率由百分制转换为浮点数循环
【详解】
本题主要考查Python程序设计。
①round(x,n)函数是将x取n位,此处是计算当前年份的收益,收益=本金+本金*年利率,故填money*(1+rate),并将结果取2位。
②程序第2行的作用是将输入的字符串年利率由百分制转换为浮点数,并赋值给变量rate。
③该程序主要是通过while实现循环结构。
19.tc>0c=c+1或者c+=1
【详解】
本题主要考查Python程序执行与调试。
①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。
②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1或者c+=1。
20.list3[2]list1[1:
4]list2=list2+list4或list2.extend(list4)list1=list1+[“塑料瓶”]或者list1.append(“塑料瓶”)
【详解】
本题主要考查Python列表数据类型。
①“过期食品”在列表list3索引2,故从列表list3中取出“过期食品”的表达式:
list3[2]。
②"旧书","金属","纸板箱"在列表list1索引1~3,从list1中截取["旧书","金属","纸板箱"]这一段的表达式:
list1[1:
4](不包括4)。
③将该列表中的元素添加到list2中,表达式是list2=list2+list4或list2.extend(list4)。
(extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表))。
④将塑料瓶添加到列表list1中:
list1=list1+[“塑料瓶”]或者list1.append(“塑料瓶”)(append字符追加函数)。
21.-b/(2*a)
【详解】
本题主要考查Python程序执行与调试。
①delta大于0,方程有两个不同的解,delta等于0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。
②delta=0,则方程有两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。