版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东省东莞市全国计算机等级考试Python语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(30题)1.某完全二叉树有256个节点,则该二叉树的深度为()。
A.7B.8C.9D.10
2.以下代码的输出结果是()。forsin“PythonNice!":ifs=="i”:breakprint(s,end=””)
A.PythonB.PythonNC.PythonNiD.PythonNice
3.当在命令行中以pythonmy.pyv1v2形式运行python脚本时,通过fromsysimportargv如何获得v2的参数值?
A.argv[0]B.argv[1]C.argv[2]D.argv[3]
4.关于以下程序的描述中,正确的是()。deffact(n): s=1 foriinrange(1,n+1): s*=i returns
A.代码中n是可选参数
B.fact(n)函数功能为求n的阶乘
C.s是全局变量
D.range()函数的范围是[1,n+1]
5.下面关于Python中函数参数的说法错误的是()。
A.在函数定义时必须固定参数的数量
B.使用位置参数传参时实参的数量和顺序必须和函数声明时的参数一样
C.若是参数有默认值,在调用函数时没有给参数赋值,调用的函数就会使用这个默认值
D.关键字参数传参是指在调用函数时通过参数名传递值
6.执行以下程序,导致输出”输入有误”的输入选项是()。try:ls=eval(input())*2print(ls)except:print(’输入有误’)
A.’aa’B.’12’C.aaD.12
7.S=’1234567890’,以下表示’1234’的选项是()。
A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]
8.商品销售的售货单和商品之间的联系是()。
A.多对多B.一对多C.多对一D.一对一
9.在Python中,不能作为变量名的是()。
A.studentB._bmgC.5spD.Teacher
10.想查看BIFlen的文档信息,输入以下命令()
A.helplenB.help--lenC.lenhelpD.help(len)
11.以下不是函数作用的选项是()。
A.提高代码执行速度B.增强代码可读性C.复用相同功能代码D.降低编程复杂度
12.设线性表的长度为12。最坏情况下冒泡排序需要的比较次数为()。
A.66B.78C.144D.60
13.关于Python文件打开模式,表示错误的是()。
A.rtB.nbC.abD.wt
14.以下操作中对象t=(1,3.7,5+2j,'test'),哪个是正确的()
A.t.remove(0)B.t.count()C.t.sortD.list(t)
15.定义学生选修课程的关系模式如下:SC(S#,sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)则对主属性部分依赖的是()。
A.C#→CnB.(S#,C#)→GC.(S#,C#)→S#D.(S#,C#)→C#
16.以下程序的输出结果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)
A.20B.0TrueC.2FalseD.0False
17.以下选项中不是Python文件目录操作方法的是()。
A.split()B.rename()C.getcwd()D.rmdir()
18.以下不能创建一个字典的语句是()。
A.dic={}
B.dic={1:5}
C.dic={(1,2):“use”}
D.dic={[1,2]:“use”}
19.以下关于Python列表的描述中,正确的是()。
A.列表的长度和内容都可以改变,但元素类型必须相同
B.不可以对列表进行成员运算操作、长度计算及分片
C.列表的索引是从1开始的
D.可以使用比较操作符(如>、<等)对列表进行比较
20.文件family,txt在当前代码所在目录内,其内容是一段文本:Wearefamily。以下代码的输出结果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()
A.txtB.family,txtC.非其他答案D.Wearefamily
21.以下关于字符串的描述正确的是()。
A.字符应视为长度为1或2的字符串
B.字符串的字符可进行数学运算,但进行数学运算的字符必须为数字
C.在三引号字符串中可包含换行、回车等特殊的字符
D.字符串可以进行切片并赋值
22.以下程序中,while循环的循环次数是()。i=0whilei<10: ifi<1: print(“Python”) continue ifi==5: print(“World!”) break i+=1
A.10B.5C.4D.死循环,不能确定
23.以下程序输出的图形是()。foriinrange(-3,4): ifi<0: print(‘’*(-i)+‘*’*(4+i)) elifi>0: print(‘’*3+‘*’*(4-i)) else: print(‘*’*7)
A.
B.
C.
D.
24.以下程序的输出结果是()。Test_list=list(range(6))Print(6inTest_list)
A.6B.6inTest_listC.TrueD.False
25.以下代码的输出结果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)
A.0x452B.breakC.553D.”0x452//2”
26.以下关于文件的打开和关闭的描述中,正确的是()。
A.二进制文件不能使用记事本程序打开
B.二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容
C.使用内置函数open()且以“w”模式打开文件,若文件存在,则会引发异常
D.使用内置函数open()打开文件时,只要文件路径正确就总可以正确打开
27.执行以下代码的结果是()A.2B.5C.8D.Anexceptionisthrown
28.一棵二叉树共有25个节点,其中5个是叶子节点,则度为1的节点数为()。
A.16B.10C.6D.4
29.以下代码的输出结果是()。ls=[]formin’想念’:fornin’家人’:ls.append(m+n)print(ls)
A.想念家人B.想想念念家家人人C.想家想人念家念人D.[’想家’,’想人’,’念家’,’念人’]
30.以下代码运算结果为:a=7a*=7()
A.1B.14C.49D.7
二、判断题(10题)31.3+4j不是合法的Python表达式。
A.是B.否
32.在Python中可以使用if作为变量名。
A.是B.否
33.在IDLE交互模式下,一个下划线“_”表示解释器中最后一次显示的内容或最后一次语句正确执行的输出结果。
A.是B.否
34.Python变量名区分大小写,所以student和Student不是同一个变量。
A.是B.否
35.使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。
A.是B.否
36.尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。
A.是B.否
37.在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。
A.是B.否
38.在Python3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的连接和集合的并集运算。
A.是B.否
39.运算符“-”可以用于集合的差集运算。
A.是B.否
40.已知x=3,那么赋值语句x='abcedfg'是无法正常执行的。
A.是B.否
三、填空题(10题)41.已知vec=[[1,2],[3,4]],则表达式[colforrowinvecforcolinrow]的值为__________________________。
42.表达式type('3')in(int,float,complex)的值为__________。
43.表达式list(range(50,60,3))的值为_______________________。
44.表达式round(3.4)的值为___________。
45.一直g=lambdax,y=3,z=5:x*y*z,则语句print(g(1))的输出结果为_______。
46.Python运算符中用来计算整商的是_________。
47.已知x=3,那么执行语句x*=6之后,x的值为________________。
48.表达式'%s'%65的值为__________。
49.表达式3*2的值为___________。
50.已知函数定义deffunc(**p):returnsum(p.values()),那么表达式func(x=1,y=2,z=3)的值为________。
四、操作题(3题)51.考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:
编写程序,实现将列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素数去除,并输出去除素数后列表的元素个数,结果保存在考生文件夹下,命名为“PY202.txt”。。请结合程序整体框架,补充横线处代码。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的______处使用一行代码替换
#注意:提示框架代码可以任意修改,以完成程序功能为准
fo=open(”PY202.txt”,“w”)
defprime(num):
……#此处可以是多行代码
ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]
lis=[]foriinls:
ifprime(i)==False:
________#处为一行代码fo.write(”>>>(),列表长度为{}".format(_______,_________)))fo.close()
52.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。用键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(_____,_____):
53.考生文件夹下存在一个文件PY301.py,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能:
设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。
试题程序:
#以下代码为提示框架
#请在…处使用一行或多行代码替换
#请在______处使用一行代码替换
#注意:提示框架代码可以任意修改,以完成程序功能为准
import_________
letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,
'o','p','q','r','s','t','u','v','w','x','y','z']
etter=letter_list[random.______(0,25)]
count=0
whileTrue:…
参考答案
1.C
2.Bfor循环遍历字符串,将字符串中的字符依次赋值给变量s,当s==i的时候,跳出该循环,输出之前变量s被赋值的字符,所以输出为PythonN。本题选择B选项。
3.C
4.B函数定义时的语法如下。def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\t<函数体>return<返回值列表>可选参数一般都放置在非可选参数的后面。本题代码中,n为非可选参数,fact(n)函数的功能为求n的阶乘。s在函数内部定义,为局部变量。根据range()函数的定义,range(1,n+1)的范围是[1,n],不包含n+1。本题选择B选项。
5.A在Python中,在函数定义时是可以设计可变数量参数的,通过在参数前加星号(*)实现。可变参数在定义时只有两种变现形式:*param和**param,前者表示可以接受多个位置参数收集的实参组成一个元组,后者表示可以接收多个关键字参数收集的实参名和值组成一个字典。
6.C无论用户输入的是字符还是数字,input()函数统一按照字符串类型输出,当输入aa时,以字符串类型’aa’返回;然后eval()函数处理字符串’aa’,去掉其两侧的引号,将其解释为一个变量,由于之前没有定义过该变量,因此解释器报错,输出”输入有误”。
7.D对字符串中某个子串或区间的检索称为切片。切片的使用方式如下:\n<字符串或字符串变量>[N:M]\n切片获取字符串从N到M(不包含M)的子字符串,其中N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。切片要求N和M都在字符串的索引区间,如果N大于等于M,则返回空字符串。如果N缺失,则默认将N设为0;如果M缺失,则默认表示到字符串结尾。\n题干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。
8.A一张售货单可以有多种商品的记录,一种商品也可以出现在多张售货单上。因此售货单和商品之间的联系是多对多。
9.C在Python中,变量名的命名规则:以字母或下划线开头,后面跟字母、下划线和数字;不能以数字开头。本题选择C选项。
10.D
11.A函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。使用函数可以降低编程复杂度和增加代码复用,增强代码可读性。故答案为A。
12.A最坏情况下冒泡排序需要的比较次数为n(n—1)/2,本题中n=12,故需要比较66次。本题选择A选项。
13.BPython中open()函数提供了7种基本的文件打开模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+组合使用。故表示错误的是B项。
14.D
15.A关系SC中的主键是(S#,C#),但C#(课程号)单独就可以决定Cn(课程名),存在着对主键的部分依赖。本题答案为A选项。
16.C这段代码是全局变量、局部变量以及Python内置函数bool()的一个结合。当函数内部的局部变量名和函数外部全局变量名相同,调用函数时,总是先找到函数内部的局部变量名,所以当a为2时,经过布尔型转换之后的a-2,即b为False,而在函数外部只能访问全局变量名,所以n仍为2。本题选择C选项。
17.Arename():给文件重命名;getcwd():得到当前工作目录,即当前Python脚本工作的目录路径;rmdir():删除目录。split():按给出的分隔符分隔字符串,返回的是列表类型。
18.D字典的“键”必须为不可变类型;字典的值可以是任意类型。本题选择D选项。
19.D列表是包含0个或多个元素的有序序列,属于序列类型。列表用方括号([])表示,由于列表属于序列类型,因此继承了序列类型的所有属性和方法。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增索引或反向递减索引,使用方括号作为索引操作符,索引不得超过列表的元素范围,否则将产生IndexError错误。索引从0开始。列表可以进行元素增加、删除、替换、查找等操作。列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,可以使用比较操作符(如\n>、<等)对列表进行比较,也可以对列表进行成员运算操作、长度计算及分片。本题选择D选项。
20.Copen()函数打开一个文件,并返回可以操作这个文件的变量txt,并且open()函数有两个参数:文件名和打开模式。本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(txt)语句输出的是变量txt\n代表的文件的相关信息:<_io.TextIOWrappername=’family,txt'mode=’r’encoding=\n‘cP936'>。若想要输出文件的内容,需要把文件的内容读入,如txtl=txt.read()。本题选择C选项。
21.C字符应视为长度为1的字符串;字符串中的字符不可以进行数学运算,如果是数字字符串,则需要将其转换为数值类型方可计算;字符串可进行切片,但不能赋值。本题选择C选项。
22.Dwhile循环的判断条件为真时,进入循环体;判断条件为假时,直接执行while同级的代码。初始值为i=0,进入循环体之后,因为i<1,执行continue语句跳出本次循环,进入下一次循环。i的值始终为0,故程序为死循环。本题选择D选项。
23.Ai的取值区间为[-3,4)且为整数,当i=0时,根据判断条件应在一行输出7个*,且行前无空格。通过4个选项比较,采用排除法,只有A选项满足条件。本题选择A选项。
24.DTest_llst是列表类型,6inTest_llst表示如果6是列表Test_llst的元素,则返回True,否则返回False。本题选择D选项。
25.C该程序最外层是while循环,while循环的条件是True,由此可知while内的语句会无限循环。input()函数是用来获取用户从键盘输入的内容并以字符串类型返回。eval()函数是把字符串转换成Python可用的语言。if语句的作用是来控制程序是否继续循环,判断条件中0x452是十六进制数,对2整除的结果是553,如果用户输入的数据是553,则将结果输出并终止循环;如果输入其他数据,程序会一直要求用户输入直到输入正确的数据才会终止循环。本题选C选项。
26.B二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容;用内置函数open()且以”w”模式打开文件,若文件存在,则会覆盖原来的内容而不会引发异常。本题选择B选项。
27.D
28.A根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1\n=4个,所以度为1的结点的个数是25-5-4=16个。本题选择A选项。
29.D外层for第1次循环将字符’想’赋给变量m,m=’想’,内层for第1次循环将’家’赋给变量n,则m+n连接字符,利用列表的append()方法将连接后的字符’想家’加入到列表ls中;内层for第2次循环将’人’赋给变量n,则m+n连接字符,利用列表的append()方法将连接后的字符’想人’加入到列表ls中。外层for第2次循环将字符’念’赋给变量m,m=’念’,内层for第1次循环将’家’赋给变量n,则m+n连接字符,利用列表的append()方法将连接后的字符’念家’加入到列表ls中;内层for第2次循环将’人’赋给变量n,则m+n连接字符,利用列表的append()方法将连接后的字符’念人’加入到列表ls中。最后列表ls=[’想家’,’想人’,’念家’,’念人’],print(ls)输出ls。本题选D选项。
30.C
31.N
32.N
33.Y
34.Y
35.Y
36.Y
37.Y
38.N
39.Y
40.N
41.[1,2,3,4]
42.FalseTrue
43.[50,53,56,59]
44.3
45.15
46.//
47.18
48.'65'
49.6
50.6
51.fo=open(”PY202.txt”,”w”)\r\n
defprime(num):\r\n
foriinrange(2,num);\r\n
ifnum%i==0;\r\n
returnFalse
returnTrue\r\n
ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n
lis=[]\r\nforiinls:\r\n
ifprime(i)==False:\r\n
lis.append(i)\r\nfo.write(”>>>{},列表长度为{}”.format(lis.len(lis)))\r\n
fo.close()素数是只能被1和它本身整除的自然数。prime()函数用于判断一个数是否为素数,如果一个数num,能被2到num一1之间的任意一个整数整除,那该数不为素数(返回False),否则为素数(返回True)。\r\n最后,通过for循环遍历列表ls中的元素,通过调用函数判断该元素是否为素数,将不是素数的元素使用append()方法添加到一个新的列表lis中,再将新列表的元素和元素个数写入到文件中去。
52.lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染个(2,num):If(num%i)==0:BreakElse:Prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版煤炭开采权转让及安全生产保障服务合同3篇
- 二零二五年度高速公路交通安全警示标志制作合同样本2篇
- 二零二五版餐饮业店长任期管理与聘用合同3篇
- 二零二五版自来水厂自动化控制系统升级合同3篇
- 二零二五版地铁停车场车位租赁及公共交通服务合同2篇
- 二零二五版法院判决引导下的债务偿还与追加借款合同3篇
- 二零二五版地下室出租合同(含仓储物流)3篇
- 二零二五版深基坑降水井施工劳务分包合同2篇
- 二零二五年果园废弃物资源化利用合同2篇
- 设备租赁公司2025年度租赁施工塔吊合同2篇
- (正式版)QC∕T 1206.1-2024 电动汽车动力蓄电池热管理系统 第1部分:通 用要求
- 《煤矿地质工作细则》矿安﹝2024﹞192号
- 平面向量及其应用试题及答案
- 2024高考复习必背英语词汇3500单词
- 消防控制室值班服务人员培训方案
- 《贵州旅游介绍》课件2
- 2024年中职单招(护理)专业综合知识考试题库(含答案)
- 无人机应用平台实施方案
- 挪用公款还款协议书范本
- 事业单位工作人员年度考核登记表(医生个人总结)
- 盾构隧道施工数字化与智能化系统集成
评论
0/150
提交评论