python考试复习题库word练习.docx
(完整版)python考试复习题库word练习一、选择题1.Python中用来声明字符串变量的关键字是()A.strB.intC.floatD.char2.在Python中要交换变量a和b中的值,应使用的语句组是()0A.C.3.A.azb=bzaB.a=c;a=b;b=ca=b;b=aD.c=a;b=a;b=c以下python表达式结果为5的是()abs(int(-5.6)B.Ien(,>3+5>=6")C.ord(,5")D.round(5.9)4.A.在Python中PrinH-I”的运行结果是()。-4B.-3.5C.2D.-25.A.数据分析的处理工具错误的0AccessB.ExcelC.pythonD.SQL6.A.在Python中,Print(abs(Tg5)的执行结果是02.4B.3C.4D.-2.47.A.运行如下PythOn程序,结果为()。1B.3C.6D.188.A.在Python中,表达式(21%4)+3的值是02B.4C.6D.89.A.B.C.D.10.A.关于Python3.8根底知识的说法中,不正确的选项是0支持中文做标识符Python标识符不区分字母的大小写Python命令提示符是>>>命令中用到的标点符号只能是英文字符根据Python中变量命名遵循的规那么,正确的选项是0char21B.2020PyC.PythonD.name,ch11 .关于PythOn程序设计语言,以下说法不正确的选项是()。A. PythOn源文件以*.py为扩展名B. python的默认交互提示符是:>>>C. PythOn只能在文件模式中编写代码D. python具有丰富和强大的模块12 .以下PythOn程序运行后的输出结果是()。S=Oforiinrange(lz5):s=s+iprint("s=",s)A.s=5B.s=6C.s=10D.s=1513.A.在Python中,想输出一行文字,要用到的函数是()oinput()B.int()C.print()D.float()14.A.下面不是Python特性的是0:免费的B.简单易学C.可移植性好D.是低级语言15.Python中的数据类型float表示()A.布尔型B.整型C.字符串型D.浮点型16.Python语言源代码程序编译后的文件扩展名为0A.pyB.cC.javaD.c+17.在Python中,表示跳出循环的函数是()A.continueB.breakC.ESCD.Close18.以下Python表达式的值为偶数的是()A.12*3%5B.Ien(“Welcome”)C.int(3.9)D.abs(-8)19.在Python中运行后,b的值是()a=6Ifa>=0:b=a+2日se:b=a-2print(b)A.6B.8C.10D.1220.以下序列拼接错误的选项是0A.list=None*4B.msg="Python","语言"C.tup="/".join("123","234")D.set=l,2,3+4,5,621.下面哪个不是PythOn合法的标识符()A.int32B.40×LC.selfD._name_22.计算机能直接识别、理解执行的语言是OA.汇编语言B.PythOn语言C.自然语言D.机器语言23.计算机能够直接识别和执行的语言是()A.机器语言B.汇编语言C.Python语言D.C语言24.以下不属于高级程序设计语言的是0oA.C+B.VBC.机器语言D.Python25.Python中,可以输出helloworld的是()A.printf("helloworld")B.output("helloworld")C.Print("hello+world")D.print("helloworld")26.在VB中,以下与表达式Len(”python”)+20的值相等的是()A.lnt(Rnd*26)+1B.Val("20")+16mod9C.Mid("Hello2019"z6,2)+"6"D.abs(Sqr(16)-30)27 .运行以下Python程序,输出结果为TrUe,那么空白处应为Oa=15b=46if:print(zTrue,)else:Print(zFIasez)D. a=bC.执行无限次D.执行k次D. 210A.a=bB.a>bC.a<b28 .关于以下Python程序段的说法正确的选项是Ok=lwhile1:k+=lA.存在语法错误,不能执行B.执行1次29 .以下PythOn程序段运行的结果是OX=Oforiinrange(1,20,3):x=x+iprint(x)A.80B.190C.7030 .以下选项中,不是PythOn中文件操作的相关函数是()。A.open()B.load()C.read()D.write()二、程序填空31 .学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为探秘水仙花数。(1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比方:153=13+53+33,那么这个数就是一个“水仙花数”.百度属于搜索引擎(全文,分类)(2)为了求解IoO-999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设计,并使用Python编写了一段程序来求解所有的“水仙花数”,程序和运行结果以下图:k是可以重新赋值的,k是变量还是常量?程序中处有空缺,请补充完整处的代码。一程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做(解析法,枚举法,递归法,二分法),(3)在研究成果展示环节,张轩小组可以使用什么软件制作探秘水仙花数的研究成果报告?()32 .辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。它是最古老的算法,其可追溯至公元前300年前。辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,假设余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时In就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法答复以下问题。描述一描述二描述三输入两个正整数m,n(m>n);计算m除以n所得的余数r;(3)m=n,n=r;假设r=0,那么m,n的最大公约数等于m;否那么转到步骤;输出最大公约数m;结束。Z开始J/输入in.或r1m=int(input("m=")2n=int(input("n=")3 ifm(11:4 t=m5 m=n6 n=t7 r=18 while:9 r=m%10 m=n11 n=r12 Print(最大公约数为:,m)UnMODu<Z(Im=nIi=F输出iny结束/I(1)描述一是描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。(2)在描述三中代码4到6行作用是<.(3)在描述三程序设计中,补充代码第8行划线处为o33 .在一千多年前的孙子算经中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”。即一个数除以3余2,除以5余3,除以7余2,求这个数。i=while(i%3!=2i%5!=3ori%7!=2):i=®print(i)34 .(最大公约数)用辗转相除法求两个正整数的最大公约数。代码如下:defgcd(mzn):r=whiler!=0:m=nreturna=int(input(储输入a的值:。)b=int(input(储输入b的值:')Printe最大公约数是:,)填空:35 .程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。代码如下:n=int(input("请输入一个十进制数:")result=whilen>0:result.appendQ)n=result.reverse()foriinresult:Print(i,end=")(1)程序代码中处正确的代码是()。A.n%2B.n/2C.n2D.n*2(2)程序代码中处可能的代码是()oA.n%2B.n/2C.n2D.n*236 .输入n,计算s=l!+2!+.+n!的未6位(不含前导0)。N<=1000000,n!表示前n个正整数之积。37 .编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,那么两数互换,否那么原样输出。38 .约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从。号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。Ilist=n=int(input(“请输入参与人数:”)foriinrange(0,n-l):llist.append(i,i+l)long=nk=headi=lP=2while():ifi=p-l:t=llistklPrint(IliSt也网)#索引为t的删除ift=head:p+=lIong=Iong-Ik=llistkli+=lprint(llisthead11O)39 .完善程序。以下是猜数游戏的程序,请在画线出填写正确的内容。importrandomsecret=random.randint(Ozl)Print猜数游戏-一")cs=int(input("你猜的数字是)whilecs!=secret:cs>secret:(“唉,猜大啦!”)Print("嘿嘿,猜小了!”)CS=int(input("重新猜一个靠谱的数字是:")Print("游戏结束,不玩了!")40 .阅读程序。分析以下切片相关程序并答复以下问题。Iist2=5,6,7,8,9print(list2:)print(list22:)print(list2z2)print(list2l:3)print(list22:4)程序第一个print的输出结果是o(2)程序第二个print的输出结果是。程序第三个print的输出结果是o程序第四个print的输出结果是1.程序第五个print的输出结果是o【参考答案】*试卷处理标记,请不要删除一、选择题1. A【详解】此题主要考查PythOn变量。PythOn中,int是整型,Str是字符串型,float是浮点型,故此题选A选项。解析:A【详解】此题主要考查PythOn变量。PythOn中,int是整型,Str是字符串型,float是浮点型,故此题选A选项。2. A【详解】此题主要考查Python赋值语句。选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故此题选A选项。解析:A【详解】此题主要考查Python赋值语句。选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故此题选A选项。3. A【详解】此题主要考查PythOn表达式。int是取整函数,abs求绝对值函数,Ien返回字符串的长度,Ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(in解析:A【详解】此题主要考查PythOn表达式。int是取整函数,abs求绝对值函数,Ien返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(int(-5.6)=5,Ien("3+5>=6")=6,ord("5")=53,round(5.9)=6,故此题选A选项。4. A【详解】此题主要考查PythOn表达式的运算。运算符表示向下取整,-*a=-4,14=3,故此题选A选项。解析:A【详解】此题主要考查PythOn表达式的运算。运算符表示向下取整,L44=-4,M4=3,故此题选A选项。5. C【详解】此题主要考查数据分析知识点。Access(数据库)、EXCel(表格处理软件)、SQL(用于访问和处理数据库的标准的计算机语言)均是数据分析处理工具,Python是程序设计软件,故此题解析:C【详解】此题主要考查数据分析知识点。Access(数据库)、Excel(表格处理软件)、SQL(用于访问和处理数据库的标准的计算机语言)均是数据分析处理工具,Python是程序设计软件,故此题选C选项。6. C【详解】此题主要考查PythOn表达式的运算。是向下取整,abs是求绝对值函数,-1&万=4,abs(-l5)=4,故执行结果是4,故此题选C选项。解析:C【详解】此题主要考查Python表达式的运算。“”是向下取整,abs是求绝对值函数,;&乃=-4,abs(-Ig方)=4,故执行结果是4,故此题选C选项。7. C【详解】此题主要考查PythOn循环结构。分析程序可知,该程序求in、n的最大公约数,程序结束后m=6,此时r=0,故此题选C选项。解析:C【详解】此题主要考查Python循环结构。分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故此题选C选项。8. B【详解】此题考查的是PythOn表达式。是求余,故(21%4)+3=1+3=4,选项B正确。解析:B【详解】此题考查的是Python表达式。是求余,故(21%4)+3=1+3=4,选项B正确。9. B【详解】此题主要考查PythOn语法。Python3.8支持中文做标识符,Python标识符区分字母的大小写,PythOn命令提示符是>>>,命令中用到的标点符号只能是英文字符,故此题选B选项解析:B【详解】此题主要考查PythOn语法。PythOn3.8支持中文做标识符,PythOn标识符区分字母的大小写,Python命令提示符是>>>,命令中用到的标点符号只能是英文字符,故此题选B选项。10. A【详解】此题考查的是Python变量名的命名规那么。Python中变量命名规那么:由字母、数字、下划线组成,不能以数字开头,系统保存字不能作为变量名。故此题应选A。解析:A【详解】此题考查的是Python变量名的命名规那么。Python中变量命名规那么:由字母、数字、下划线组成,不能以数字开头,系统保存字不能作为变量名。故此题应选A。11. C【详解】此题主要考查PythOn程序设计语言。PythOn源文件以*.py为扩展名,PythOn的默认交互提示符是:»>,Python能在文件模式中编写代码,也能在交互模式中编写代码,p解析:C【详解】此题主要考查PythOn程序设计语言。Python源文件以*.py为扩展名,Python的默认交互提示符是:>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块,故此题选C选项。12. C【详解】此题主要考查PythOn中循环结构。Qnge(1,5)函数生成1、2、3、4的整数序列,FOr循环中循环体计算序列累加求和,因此C选项正确。【点睛】解析:C【详解】此题主要考查PythOn中循环结构。range(l,5)函数生成1、2、3、4的整数序列,For循环中循环体计算序列累加求和,因此C选项正确。【点睛】13. C【详解】此题考查的是Python根本函数相关知识。input函数接受一个标准输入数据,返回为String类型,应选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,解析:C【详解】此题考查的是Python根本函数相关知识。input函数接受一个标准输入数据,返回为String类型,应选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,应选项B错误;Print是输出函数,应选项C正确;float用于将整数和字符串转换成浮点数,应选项D错误。14. D【详解】此题主要考查PythOn的特性。PythOn特性有:免费的、简单易学、可移植性好、是高级语言,故此题选D选项。解析:D【详解】此题主要考查Python的特性。Python特性有:免费的、简单易学、可移植性好、是高级语言,故此题选D选项。15. D【详解】此题主要考查PythOn数据类型。布尔型bool,整型int,字符串型String,浮点型float,故此题选D选项。解析:D【详解】此题主要考查PythOn数据类型。布尔型bool,整型int,字符串型String,浮点型float,故此题选D选项。16. A【详解】此题主要考查Python文件。Python语言源代码程序编译后的文件扩展名为py,BCD选项分别为C语言、java语言、C+语言源代码程序编译后的文件扩展名,故此题选A选项。解析:A【详解】此题主要考杳Python文件。Python语言源代码程序编译后的文件扩展名为py,BCD选项分别为C语言、java语言、C+语言源代码程序编译后的文件扩展名,故此题选A选项。17. B【详解】此题主要考查PythOn函数知识点。Cc)ntinue是跳出本次循环,进入下一次循环,break是跳出循环,故此题选B选项。解析:B【详解】此题主要考查PythOn函数知识点。continue是跳出本次循环,进入下一次循环,break是跳出循环,故此题选B选项。18. D【详解】此题主要考查PythOn表达式。12*3%5=1,Ien("Welcome")=7,int(3.9)=3,abs(-8)=8,故此题选D选项。解析:D【详解】此题主要考查Python表达式。12*3%5=1,Ien("Welcome")=7,int(3.9)=3,abs(-8)=8,故此题选D选项。19. B【详解】此题主要考查PythOn程序的执行。a=6,满足a>=0,执行b=a+2=8,故在PythOn中运行后,b的值是8,故此题选B选项。解析:B【详解】此题主要考查Python程序的执行。a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故此题选B选项。20. D【详解】此题主要考查PythOn序列拼接运算。set=生成的是字典类型,而不是集合类型,不支持使用+,故此题选D选项。解析:D【详解】此题主要考查Python序列拼接运算。Set=生成的是字典类型,而不是集合类型,不支持使用+,故此题选D选项。21. B【详解】此题主要考查PythOn变量的命名。变量的命名规那么有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故40XL不是Python合法的标识符,故此题选B选项。解析:B【详解】此题主要考查Python变量的命名。变量的命名规那么有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故40XL不是PythOn合法的标识符,故此题选B选项。22. D【详解】此题主要考查程序语言。计算机能直接识别、理解执行的语言是机器语言(即0和1),故此题选D选项。解析:D【详解】此题主要考查程序语言。计算机能直接识别、理解执行的语言是机器语言即。和1),故此题选D选项。23. A【详解】此题主要考查程序设计语言。计算机能够直接识别和执行的语言是机器语言,即0和1,故此题选A选项。解析:A【详解】此题主要考查程序设计语言。计算机能够直接识别和执行的语言是机器语言,即。和1,故此题选A选项。24. C【详解】此题考查计算机语言。C+,VB,Python都属于高级程序设计语言。机器语言那么不是。故此题选项C不属于高级程序设计语言。解析:C【详解】此题考查计算机语言。C+,VB,PythOn都属于高级程序设计语言。机器语言那么不是。故此题选项C不属于高级程序设计语言。25. D【详解】此题主要考查Python输出语句。Python输入函数是print(),故可以输出helloworld的是Print("helloworld"),故此题选D选项。解析:D【详解】此题主要考查Python输出语句。Python输入函数是print(),故可以输出helloworld的是print(zzhelloWorler),故此题选D选项。26. D【详解】此题考查的知识点是VB根本函数的应用。Len()函数功能是求字符串长度,返回数值型数据,所以LendPythOn”)+20值为26。A选项:Rnd是产生。到1之间的随机数,不包括1,解析:D【详解】此题考查的知识点是VB根本函数的应用。Leno函数功能是求字符串长度,返回数值型数据,所以Len(“python”)+20值为26。A选项:Rnd是产生。到1之间的随机数,不包括1,lnt()函数功能是向下取整,所以Int(Rnd*26)+1结果是一个。到26的随机数,不一定为26。A选项错误;B选项:Val()函数功能是讲字符串数据转换为数值型,mod是取余运算,所以Val(“2(r)+16mod9值为27。B选项错误;C选项:Mid()函数功能是截取字符串,MidrHe11。2019,6,2)+”6"结果是字符串类型数据。C选项错误;D选项:Sqr()是求平方根函数,abs()是求绝对值函数,所以abs(Sqr(16)-30)值为26。故正确答案为D选项。27. C【详解】此题考查Python程序调试a<b时,执行Print('True')。故此题选C选项解析:C【详解】此题考查Python程序调试a<b时,执行print(zTruez)o故此题选C选项28. C【详解】此题主要考查Python程序WhiIe循环。while1是一直为真,故k+=l会执行无限次,故此题选C选项。解析:C【详解】此题主要考查Python程序While循环。WhiIel是一直为真,故k+=l会执行无限次,故此题选C选项。29. C【详解】此题主要考查Python程序的执行。变量i的范围是从120,每次递增3,故x=0+l+4+7+10+13+16+19=70,输出X为70,故程序段运行的结果是70,故此题选C选项。解析:C【详解】此题主要考查Python程序的执行。变量i的范围是从120,每次递增3,故x=0+l+4+7+10+13+16+19=70,输出X为70,故程序段运行的结果是70,故此题选C选项。30. B【详解】此题主要考查PythOn文件操作函数。open()是文件翻开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故此题选B选项解析:B【详解】此题主要考查Python文件操作函数。open()是文件翻开函数,read。、Write()是文件读写函数;json.Ioad()用于从json文件中读取数据,故此题选B选项。二、程序填空31. 全文变量k+1枚举法Word/WPS/PowerPoint等【详解】此题主要考查Python程序的执行与调试。百度属于全文搜索引擎,也是关键词搜索。变量可以反复赋值,故k是变量。循环体执行完,k递增,继续找水仙花数,故此处填k+l°逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。在研究成果展示环节,张轩小组可以使用WordWPSPowerPoint等软件制作探秘水仙花数的研究成果报告。32. 自然语言确保m>=nr!=0【详解】此题主要考查算法及PythOn程序实现。描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。在描述三中代码4到6行,当水n时,交换m、n的值,否那么跳过,故作用是确保m>=n。由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!=0°33. .ori+1【详解】此题主要考查Python程序执行与调试。分析程序可知,程序采用枚举的算法找出该数,当不满足条件时,i递增继续判断,故i的初始值是0,第一空填0。一个数除以3余2,除以5余3,除以7余2,此处是取不满足情况时,i递增,and取反变为。r,故第二空填。r.同理第三空填i+l034.m%nrr=m%nngcd(a,b)【详解】此题主要考查Python程序设计。首先对m和n求余得到r,判断r是否为0,故此处填m%n°如果r为0那么结束,否那么更新In的值为n,n的值为r。此处用更新后的m和n继续求r,继续判断,故填r=m%n°循环结束后当r=0时,n即为最大公约数,故填n。输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。35 .AC【详解】此题主要考查Python程序设计。此处将n取余2,用append函数将值追加到列表result中,故此处填n%2,选A选项。当n大于0时,n整除2继续循环,循环结束使用reverse函数,将result列表中的元素逆转,故此处填n2,选C选项。36 .S=On=eval(input("请输入一个数:")foriinrange(Ozn):f=lforjinrange(l,i):f=f*js+=fprint(s%1000000)【详解】此题主要考查Python程序设计。可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下:S=On=eval(input("请输入一个数:")foriinrange(Ozn):f=lforjinrange(l,i):f=f*js+=fprint(s%1000000)37 .a=int(input("请输入数a:")b=int(input("请输入数b:")ifa>b:t=aa=bb=tPrint(”用户输入的数按小到大排序结果是:,a,b)else:Print("原样输出",a,b)【详解】此题主要考查Python程序设计。使用input函数接收两个数a和b,用if条件分支结构判断a和b的大小,如果a大于b,那么交换,否那么原样输出,具体代码如下:a=int(input("请输入数a:")b=int(input("请输入数b:")ifa>b:t=aa=bb=tPrintd用户输入的数按小到大排序结果是:”,a,b)else:Print("原样输出'a,b)38 .Ilist.append(n-l,0)head=Olong>lhead=llistklllistkl=llisttlk=llistkl【详解】此题主要考查Python程序执行与调试。for循环体是将索引0-n追加到IIiSt中,此处是循环体执行完,将末元素与首元素的索引参加到IliSt中,故填Ilist.append(n-1,3)。head是列表头,初始化为0,故填head=。最后剩下一个,其余人都将被杀掉,故循环条件是ong>l,变量long控制元素个数,故填IongXL索引为t的删除后,此处是更新head值,故填head=llistkl°删完后,如果t等于head,需要更新索引k,将索引tft勺值赋给变量k,llistkl=llisttl<,如果t不等于head,也需要更新索引k,故填k=llistkl39 .ifprintelse【详解】此题主要考查Python程序的执行与调试。SeCret是随机生成的数,SC是你猜的数字,此处是判断CS与SeCret的大小,故填if。如果CS大于SeCre3那么输出"唉,猜大啦",故填Print。如果CS小于SeCre3输出“嘿嘿,猜小了!",故填else。40 .5,6,7,87,8,95,66,77z8【详解】此题主要考查Python列表截取。Python列表的正向索引下标是从零开始,不是1:当只有冒号,表示全部元素;只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后);只有冒号尾下标i(代表的是从开始一直截取到iL的元素):头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素),因此5,6,7,8,97,8,95,66,77,8。【点睛】