1、CPA-Python编程(一级)错题集练习一、选择题1下列不可以用来搭建本地服务器的软件是( )。Python Excel IIS ApacheABCD2下列语言中( )不属于高级语言ApythonBVCCJAVAD汇编语言3在python 语言中,下列表达式中不是关系表达式( )Am=nBm=nCm or nDm!=n4在Python中,正确的赋值语句是( )Ax+y=10Bx=2yCx=y=50D3y=x+15以下( )是python文件A*.mp3B*.xlsC*.pptD*py6小林编写一段文件读写操作代码,文件如图,代码段如下:file=open(ceshi.txt,w)file.w
2、rite(python is a programming language.)file.close( )file=open(ceshi.txt,r)print(file.read( )该代码段运行后,输出的结果为( )AIA Distributed System Based on Python.Bpython is a programming language.CIA Distributed System Based on Python. python is a programming language.D程序编译错误,不会输出结果7Python使用函数( )接收用 输入的数据Aaccept(
3、)Binput()Creadline()Dprint()8以下选项中,不是Python中文件操作的相关函数是( )。Aopen ()Bload ()Cread ()Dwrite ()9下列选项中,不属于Python特点的是( )。A面向对象B运行效率高C可读性好D开源10以下python程序段运行后,y的值是( )x=3if x 3 : y=2*xelse : y=3*x+1print(y)A10B5C25D2611运行Python程序的过程中出现了如下图错误提示,原因是()。A变量名51study太长B应该写成chinese =51studyC“chinese”应该写成“chinas”D变量
4、名51study不符合python语言规范,变量名不能以数字开头12利用Python求100以内所有能被3整除的正整数,代码如下:则下列程序第3行的横线应该填( )Ai=i*3Bi=i%3Ci%3=0Di/3=113下列不是 Python 程序基本结构的是()。A顺序结构B树形结构C分支结构D循环结构14Python输入函数为( )。Atime()Bround()Cinput( )Dprint()15下列选项中,能作为python程序变量名的是( )As%1B3stuCwhileDdist16Python的设计具有很强的可读性,相比其他语言具有的特色语法有以下选项,正确的是( )。A交互式B解
5、释型C面向对象D服务端语言17下面选项中对Python的转义字符描述错误的是( )Ar 回车Bn 换行C 反斜杠符号D” 单引号18计算机能直接识别、理解执行的语言是( )A汇编语言BPython语言C自然语言D机器语言19下面哪个不是Python合法的标识符( )Aint_3B30XLCselfD_abc20下列有关于print命令的描述中,正确的是( )A在打印机里打印相关的文本或者数字等B可以用来画图C在屏幕中输出相应的文本或者数字等D执行语句print(“python”,3.7)时会出错21利用Python编程实现计算z=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字,如8
6、+88+888+8888+88888。设计一个summalion()函数,输入变量为数字a和需要多少个数相加的n,在这个函数中,a.aa.aaa这些基本数由变量Basic来保存,前几个数的求和保存在变量sum中,Python程序如下左图所示,请在下划线处填写代码( )完善程序实现如下右图的运行结果。Abasic+=sumBsum=basic+nCsum=basic+1Dsum+=basic22以下Python代码输出结果中说法正确的是( )。x=0for i in range(1,100): x=x+iprint(x)A1+100的和B1+99的和C199所有整数的和D1100所有整数的和23
7、若用整型变量k表示某天是星期几(例如k=1表示该天是星期一、k=2表示该天是星期二k=7表示该天是星期天),则下列能够正确表示k的下一天是星期几的python表达式为( )Ak+1Bk % 7 + 1C(k+1) %7D(k+1)%7-124下面选项中对Python操作描述错误的是( )Ax1+x2 连接列表x1和x2,生成新列表Bx*n 将列表x复制次,生成新列表CMin(x) 列表x中最大数据项DLen(x) 计算列表中成员的个数25利用Python程序绘制x-y的散点图,则下列程序第5行应该填写的代码是( )。Aplt. plot(X,Y)Bplt. scatter(X,Y)Cplt.
8、bar(X,Y)Dplt .boxplot(X,Y)26在python中,有程序如下A=input()print(A * 5)通过键盘输入5,则运算结果是()A5 5 5 5 5B25C5*5D5 527下列python表达式中, 值为字符串类型的是( )Abs(x) “abc”*3 “123+45” 123+45 a=input(“请输入a的值:”)ABCD28在编写python程序时缩进的作用是()。A让程序更美观B只在for循环中使用C只在if语句中使用D用来界定代码块29在python中,下列哪个选项是正确的赋值语句( )A5s= 80B2018 =xCa+b=cDs=s+530Pyt
9、hon表达式中,可以使用( )控制运算的优先顺序。A圆括号()B方括号C大括号D尖括号二、程序填空31使用Python自身提供的IDLE集成开发环境录入以下代码及调试运行,检测结果。# 鸡兔同笼for x in range(1,23):y=35-xif 4*x+2*y=94:print(兔子有%s只,鸡有%s只%(x,y)特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。32编写Python程序实现如下功能:输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。判断这一天是这一年的第几天。以2021-06-21为例,前面
10、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(s5:7) sum=0for i in range( ):sum+=monisum+=d
11、ayif :isleap=Trueelse:isleap=Falseif sum+=1print(这一天是当年的第 +str (sum)+天)33小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。请根据流程图的每个步骤,填写程序段编号,如A:B:D:。现填写C、E、F、G对应的程序段编号C:_E:_F:_G:_图a 图b图c 图d34奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增
12、加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:接收到的每个字节及校验码1的个数传输正误1001010014错误0110101015正确1010110105正确根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。请回答下列问题:(1)若接收到的二进制
13、码为“101011011”,传输过程_(选填:是/否)存在差错。(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。s=input(请输入9位二进制编码:)code=10:A,11:B,12:C,13:D,14:E,15:Fk=0;p=0;ans=“”for i in s:#统计9位二进制编码中“1”的个数k=k+int(i)if _:print(传输错误!)else:print(传输正确!)for j in range(0,8,4):p=int(sj:j+4,2)# int(x,base):将x(字符串或者数字)按照base进制转换成整数if 0=p=9:ans=ans+st
14、r(p)else:ans=_print(字节编码用十六进制表示:,_35模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。a=int(input(请输入第一个数: )fh=input (请输入运算符: )b=int(input(请输入第二个数: )flag=Trues= _ if fh
15、in s:if fh=+:c=a+belif fh=-:c=a-b elif fh=*:c=a*belse:if _print(除数不能为0! )flag=False else:c=a/bif flag=True:print(运算的结果为: +_)else:print (运算符不正确)36密码强度检测。编写python程序,实现如下功能:输入要检测的密码,输出密码强度结果。密码字符分为数字字符、字母和其他符号三类。密码强度的检测方法为:若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!”。若密码位数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强
16、度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。(1)若输入“12abcd5!”,则输出结果为_(选填,选字母:A密码位数不能少于8位,请重新输入! / B弱 / C中等 / D强)(2)实现上述功能的程序如下,请在划线处填入合适的代码。password=input(“请输入要检测的密码:”)_if n8: print(“密码位数不能少于8位,请重新输入!”)else: n1=0 n2=0 n3=0 for i in range(0,n,1): _ if “0”=ch=“9”: n1=1 elif “a”=ch=“z” or “
17、A”=ch0:result.append( )n result.reverse()for i in result:print(i,end”)(1)程序代码中处正确的代码是(_)。An%2 Bn/2 Cn/2 Dn*2(2)程序代码中处可能的代码是(_)。An%2 Bn/2 Cn/2 Dn*239分析完善程序某市出租车收费标准如下:(1)3公里内(含3公里),收费8元(2)超过3公里但未超过6公里部分,按1.5元/公里收费(3)超过6公里部分,按2.25元/公里收费。根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?算法分析假设总费用为p,则可以分段计算p=8 (s3)p=1.5*(
18、s-3)+8 (36)参考代码a=float(input(“s=”)if s 6 : p=2.25*(s-6)+1.5*3+8print( p)根据上述回答如下问题:(1)本题采用的算法是_(填:解析法/枚举法/排序法/递归法)。(2)程序代码中空白处应填写的条件是_(填: A/B/C/D)。A3s=6 B3=s3 and s3 Or s3,执行y=3*x+1=10,故本题选A选项。解析:A【详解】本题主要考查Python程序的执行。x=3,不满足x3,执行y=3*x+1=10,故本题选A选项。11D【详解】本题考查的是程序调试。报错内容是“语法错误:无效语法”,变量名51study,数字不能
19、作为变量名的开头,故D项正确。解析:D【详解】本题考查的是程序调试。报错内容是“语法错误:无效语法”,变量名51study,数字不能作为变量名的开头,故D项正确。12C【详解】本题主要考查Python程序的执行。该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3=0,故本题选C选项。解析:C【详解】本题主要考查Python程序的执行。该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3=0,故本题选C选项。13B【详解】本题考查Python相关知识。程序基本结构的是顺序结构,分支结构和循环结构。选项B不是程序基本结构,这是一种数据结构。解析:B【详解】
20、本题考查Python相关知识。程序基本结构的是顺序结构,分支结构和循环结构。选项B不是程序基本结构,这是一种数据结构。14C【详解】本题考查的是Python函数。input( )是输入函数,print()是输出函数。故选项C正确。解析:C【详解】本题考查的是Python函数。input( )是输入函数,print()是输出函数。故选项C正确。15D【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故dist能作为python程序变量名,故本题选D选项。解析:D【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以
21、字母或下划线开头,不能包含特殊符号,不能是关键字。故dist能作为python程序变量名,故本题选D选项。16ABC【详解】本题考查Python特点的相关知识点相比其他语言,Python具有交互式、解释型、面向对象的特色。故本题选ABC解析:ABC【详解】本题考查Python特点的相关知识点相比其他语言,Python具有交互式、解释型、面向对象的特色。故本题选ABC17D【详解】本题主要考查Python转义字符。r 回车,n 换行, 反斜杠符号,” 双引号,故本题选D选项。解析:D【详解】本题主要考查Python转义字符。r 回车,n 换行, 反斜杠符号,” 双引号,故本题选D选项。18D【详
22、解】本题主要考查程序语言。计算机能直接识别、理解执行的语言是机器语言(即0和1),故本题选D选项。解析:D【详解】本题主要考查程序语言。计算机能直接识别、理解执行的语言是机器语言(即0和1),故本题选D选项。19B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故30XL不是Python合法的标识符,故本题选B选项。解析:B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故30XL不是Python合法的标识符,故本题选B选项。20C【详解】本题主要考查pr
23、int函数。print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。解析:C【详解】本题主要考查print函数。print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。21D【详解】本题主要考查Python程序的执行与调试。变量sum用来求和,变量basic用来保存第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。解析:D【详解】本题主要考查Python程序的执行与调试。变量sum用来求和,变量basi
24、c用来保存第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。22C【详解】本题考查的是Python代码程序。本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。循环过程就是执行1-99所有整数的求和过程。故答案为C。解析:C【详解】本题考查的是Python代码程序。本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。循环过程就是执行1-99所有整数的求和过程。故答案为C。23B【详解】本题主要考查Python表达式的运算。一周7天,周期为7,故表示k的下一天是星期几的python表达式为k % 7 + 1
25、,故本题选B选项。解析:B【详解】本题主要考查Python表达式的运算。一周7天,周期为7,故表示k的下一天是星期几的python表达式为k % 7 + 1,故本题选B选项。24C【详解】本题主要考查Python列表相关操作。x1+x2 连接列表x1和x2,生成新列表;x*n 将列表x复制次,生成新列表;Min(x) 列表x中最小数据项;Len(x) 计算列表中成员的个解析:C【详解】本题主要考查Python列表相关操作。x1+x2 连接列表x1和x2,生成新列表;x*n 将列表x复制次,生成新列表;Min(x) 列表x中最小数据项;Len(x) 计算列表中成员的个数,故本题选C选项。25B【
26、详解】本题主要考查Python绘图函数。plot是绘图函数,scatter是绘制散点图函数,bar是绘制柱状图函数,boxplot是绘制箱线图函数,故本题选B选项。解析:B【详解】本题主要考查Python绘图函数。plot是绘图函数,scatter是绘制散点图函数,bar是绘制柱状图函数,boxplot是绘制箱线图函数,故本题选B选项。26A【详解】本题考查Python算法及其程序实现。input()函数接收的是字符串,故print(A * 5)时,输出5个A里存储的字符串。通过键盘输入5,则运算结果是:5 5 5 5 5,选项解析:A【详解】本题考查Python算法及其程序实现。input(
27、)函数接收的是字符串,故print(A * 5)时,输出5个A里存储的字符串。通过键盘输入5,则运算结果是:5 5 5 5 5,选项A正确。27D【详解】本题主要考查Python表达式。Abs(x)、123+45值为数值型,“abc”*3、“123+45” 、 a=input(“请输入a的值:”)值为字符串型,故本题选D选项。解析:D【详解】本题主要考查Python表达式。Abs(x)、123+45值为数值型,“abc”*3、“123+45” 、 a=input(“请输入a的值:”)值为字符串型,故本题选D选项。28D【详解】本题考查的是Python语句格式。在编写python程序时,缩进可以
28、使得代码非常整齐规范,赏心悦目,提高可读性,因此作用是用来界定代码块。故本题应选D。解析:D【详解】本题考查的是Python语句格式。在编写python程序时,缩进可以使得代码非常整齐规范,赏心悦目,提高可读性,因此作用是用来界定代码块。故本题应选D。29D【详解】本题主要考查Python赋值语句。“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。解析:D【详解】本题主要考查Python赋值语句。“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。30A【详解】本题考查Python运算顺序
29、相关的知识点Python表达式中,可以使用圆括号()控制运算的优先顺序。故本题选A选项解析:A【详解】本题考查Python运算顺序相关的知识点Python表达式中,可以使用圆括号()控制运算的优先顺序。故本题选A选项二、程序填空31错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)错误2:缩进错误,y=35-x、if 4*x+2*y=94:是for语句中的语句块,应缩进。print(兔子有%s只,鸡有%s只%(x,y)是if语句中的语句块,应缩进。【详解】本题考查的是Python调试。本题程序错误如下:错误1:兔子4只腿,
30、最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)错误2:缩进错误,y=35-x、if 4*x+2*y=94:是for语句中的语句块,应缩进。print(兔子有%s只,鸡有%s只%(x,y)是if语句中的语句块,应缩进。调试完最终输出:兔子有12只,鸡有23只。32day=int(s8:)或day=int(s-2:) 0,month-1 isleap and month2 year%4=0 and year%100!=0 or year%400=0 【详解】本题主要考查Python程序的执行与调试。2020年是闰年,2月是29天,故“2020
31、-05-20”这一天是这一年的第31+29+31+30+20=141天。变量s是字符串型,下标从0开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:从左边开始截取,也可以从右边截取,故此处填day=int(s8:)或day=int(s-2:)。通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。变量isleap标记是不是闰年,如果isleap值为真且month2,则sum需要递增1,故填isleap and month2。由题干闰年判断条件,可知加框处应改为year%4=0 and year%100!=0 or year%
32、400=0。33 【详解】本题主要考查算法及Python程序实现。jieba模块是一个用于中文分词的模块,lcut方法直接返回list,流程图中分词后存入words中对应的代码是words=jieba.lcut(txt),故填。流程图中循环结构对应的是程序中的。对counts的值进行排序,可以使用sort方法实现,对应程序中的。使用循环结构将值一一输出,对应程序中的。34是 k%2=0或(k+1)%2=1或(k-1)%2=1 ans+codep ans 【详解】本题主要考查Python程序的执行与调试。若接收到的二进制码为“101011011”,1的个数有6个,则传输过程存在差错。变量k统计1
33、的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2=0或(k+1)%2=1或(k-1)%2=1。如果p是19之间的数字,则直接将p拼接到ans中,否则从字典code中取对应的字母,故此处填ans+codep。变量ans保存转换后的十六进制,故此处填ans。35+-*/ b=0 str(c) 【详解】本题主要考查Python程序执行与调试。变量fh用来接收运算符,由代码“if fh in s”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填+-*/。变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的情况,故填b=0。变量c保存运算结果,此处输出 c的结果,故填str(c)。36D n=len(password) ch=passwordi x=n1+n2+n3 【详解】本题主要考查Python程序的执行与调试。“12abcd5!”含有三类字符,则输出结果为强,选D选项。此处取密码的长度,将其赋给变量n,len()是返回字符串的长度,故填n=len(password)。ch是取密码的每一位进行判断,故此处填ch=passwordi