浙江省金华市全国计算机等级考试Python语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(30题)1.以下代码的输出结果是()。fo=open(”book.txt”,”w”)ls=[’C语言’,’Java’,’C#’,’Python’]fo.writelines(ls)fo.close()
A.’C语言“Java”C#”Python’
B.C语言JavaC#Python
C.[C语言,Java,C#,Python]
D.[’C语言’,’Java’,’C#’,’Python’]
2.以下关于文件的描述中,错误的是()。
A.文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容
B.可以使用open()打开文件,用close()关闭文件
C.使用read()可以从文件中读入全部文本
D.使用readlines()可以从文件中读入一行文本
3.设栈与队列初始状态为空。首先A、B、C、D、E依次人栈,再F、G、H、I、J依次人队;然后依次出找至栈空,再依次出队至队空。则输出序列为()。
A.F,G,H,I,J,A,B,C,D,E
B.F,G,H,I,J,E,D,C,B,A
C.E,D,C,B,A,J,I,H,G,F
D.E,D,C,B,A,F,G,H,I,J
4.在Python中,使用open()打开一个Windows操作系统D盘下的文件,路径名错误的是()。
A.D:PythonTesta.txt
B.D:\PythonTest\a.txt
C.D:/PythonTest/a.txt
D.D://PythonTest//a.txt
5.以下关于Python循环结构的描述中,错误的是()。
A.while循环使用关键字continue结束本次循环
B.while循环可以使用保留字break和continue
C.while循环也叫遍历循环,用来遍历序列类型中元素,默认提取每个元素并执行一次循环体
D.while循环使用pass语句,则什么事也不做,只是空的占位语句
6.为以下程序填空,使得输出结果是{40:’yuwen’,20:’yingyu’,30:’shuxu’}的选项是()。tb={’yingyu’:20,’shuxue’:30,’yuwen’:40}
stb={}foritintb.items():
print(it)print(stb)A.stb[it[1]]=it[0]
B.stb[it[1]]=stb[it[0]]
C.stb[it[1]]=tb[it[1]]
D.D.stb[il[1]]=tb[it[0]]
7.如果文件a.txt在目录“C:\A”下,执行以下代码会发生的操作是()。importosos.rmdir(r'C:\A’)
A.删除文件夹A,保留文件a.txt
B.删除文件夹A和文件a.txt
C.删除文件a.txt,保留文件夹A
D.OSError
8.使用一个还未赋予对象的变量错误提示是()
A.NameErrorB.KeyErrorC.SystemErrorD.ReferenceError
9.以下关于Python文件打开模式的描述中,错误的是()。
A.只读模式“r”B.覆盖写模式“w”C.追加写模式“a”D.创建写模式“n”
10.现要将某气象观测站每天不同时间点的气温及湿度的观察值保存,方便以后进行调用及查询,在Python3哪种数据结构更合适()
A.字符串B.列表C.集合D.字典
11.软件按功能可以分为应用软件、系统软件及支撑软件(或工具软件)。下面属于应用软件的是()。
A.编译程序B.操作系统C.教务管理系统D.汇编程序
12.以下程序的输出结果是()。a=3.6e-1b=4.2e3print(b-a)
A.4199.64B.7.8e2C.0.6e-4D.4199.064
13.以下程序的输出结果是()。d={‘food’:{‘cake’:1,‘egg’:5}}print(d.get(‘egg’,‘nothisfood’))
A.eggB.1C.foodD.nothisfood
14.下面代码的输出结果是()。a=0foriinrange(1,5):a+=iprint(a)
A.0B.10C.11D.15
15.下面代码的输出结果是()。words=”helloPythonworld!”f=lambdax:len(x)foriinwords.split():print(f(i),end=””)
A.555B.566C.666D.111111
16.以下关于random.uniform(a,b)的描述,正确的是()。
A.生成一个位于[a,b]的随机小数
B.生成一个位于[a,b]的随机整数
C.生成一个均值为a,方差为b的正态分布
D.生成一个位于(a,b)的随机数
17.表达式3**2*4//6%7的计算结果是()。
A.3B.5C.4D.6
18.不能使下面程序结束的是()。whileTrue: inp=eval(input(“请输入一个数值:”)) ifinp//3: break
A.2B.3C.4D.5
19.想查看BIFlen的文档信息,输入以下命令()
A.helplenB.help--lenC.lenhelpD.help(len)
20.以下代码的输出结果是()。forsin“PythonNice!":ifs=="i”:breakprint(s,end=””)
A.PythonB.PythonNC.PythonNiD.PythonNice
21.执行以下代码的结果是?foo={1,3,3,4}type(foo)
A.setB.dictC.tupleD.object
22.设栈与队列初始状态为空。首先A,B,C,D,E依次入栈,再F,G,H,I,J依次入队;然后依次出队至队空,再依次出栈至栈空。则输出序列为()。
A.E,D,C,B,A,F,G,H,I,j
B.E,D,C,B,A,J,I,H,G,F
C.F,G,H,I,J,A,B,C,D,E,
D.F,G,H,I,J,E,D,C,B,A
23.下列关于栈的叙述正确的是()。
A.栈按“先进先出”的原则组织数据B.栈按“先进后出”的原则组织数据C.只能在栈底插入数据D.不能删除数据
24.执行以下代码的结果是?A.(5,10)B.(10,5)C.(10,10)D.异常报错
25.Is=[2,“apple”,[42,“yellow”,“misd”],1.2],表达式ls[2][-1][2]的结果是()。
A.mB.iC.sD.d
26.ls=[‘a’,‘2’,‘3’],以下关于循环结构的描述,错误的是()。
A.表达式foriinrange(len(ls))的循环次数与foriinls的循环次数是一样的
B.表达式foriinrange(len(ls))与foriinIs的循环中i的值是一样的
C.表达式foriinrange(len(ls))的循环次数与foriinrange(0,len(ls))的循环次数是一样的
D.表达式foriinrange(len(ls))的循环次数与foriinrange(1,len(ls)+1)的循环次数是一样的
27.字典d={‘Python’:123,‘C’:123,‘C++’:123},len(d)的结果是()。
A.12B.6C.9D.3
28.下列哪个语句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
29.用Pylnstaller工具把Python源文件打包成一个独立的可执行文件,使用的参数是()。
A.-LB.-C.-FD.-i
30.以下程序的输出结果是()。list=[“1”,“3”,“5”]defapp(x): list.append(x)app(“7”)print(list)
A.[‘1’,‘3’,‘5’]B.[‘1’,‘3’,‘5’,‘7’]C.[‘7’]D.“1,3,5,7”
二、判断题(10题)31.表达式list('[1,2,3]')的值是[1,2,3]。
A.是B.否
32.Python字符串方法replace()对字符串进行原地修改。
A.是B.否
33.在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。
A.是B.否
34.在Python中0xad是合法的十六进制数字表示形式。
A.是B.否
35.相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。
A.是B.否
36.Python采用的是基于值得自动内存管理方式。
A.是B.否
37.对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。
A.是B.否
38.使用OpenGL画图时,画点是最基本的操作,具体生成的图形由glBegin()函数指定的mode来决定。例如,mode值为GL_TRIANGLES时表示将要绘制三角形。
A.是B.否
39.在定义函数时,某个参数名字前面带有一个*符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。
A.是B.否
40.Python集合中的元素不允许重复。
A.是B.否
三、填空题(10题)41.已知函数定义deffunc(*p):returnsum(p),那么表达式func(1,2,3)的值为______。
42.表达式type('3')in(int,float,complex)的值为__________。
43.表达式'C:\Windows\notepad.exe'.startswith('C:')的值为_________。
44.表达式'Helloworld'.lower().upper()的值为___________。
45.已知x=[1,2,3],那么执行语句x[len(x)-1:]=[4,5,6]之后,变量x的值为_________________________________。
46.Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。
47.Python内置函数____________用来返回序列中的最大元素。
48.已知有列表x=[[1,2,3],[4,5,6]],那么表达式[[row[i]forrowinx]foriinrange(len(x[0]))]的值为___________________________。
49.已知x={1,2,3},那么执行语句x.add(3)之后,x的值为__________。
50.表达式abs(-3)的值为___________。
四、操作题(3题)51.考生文件夹下存在一个文件“PY201.Py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库的turtle.circle()函数、turtle.seth()函数及turtle.left()函数绘制一个四瓣花图形,效果如下所示。
试题程序:#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)turtle.circle(50,90)turtle.seth(_____(3)_____)turtle.circle(50,90)turtle.(4)
52.考生文件夹下存在一个文件“PY202.Py”,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能。用键盘输入一组人员的姓名、性别、年龄等信息,信息间采用空格分隔,每个人的信息为一行,按键结束输入。示例格式如下。张猛男35杨青女18汪海男26孙倩女22计算并输出这组人员的平均年龄(保留1位小数)和其中女性人数,结果保存在考生文件夹下,命名为“PY202.txt”。格式如下。平均年龄是25.2女性人数是2试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w”)data=input("请输入一组人员的姓名、性别、年龄:")#姓名性别年龄…whiledata:data=input("请输入一组人员的姓名、性别、年龄:")…fo.write("平均年龄是{:.1f}女性人数是{}".format(_____))fo.close()
53.考生文件夹下存在一个文件“PY102.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入直角三角形的两条直角边长度,计算三角形的面积。
例如:输入三角形第一条直角边长:3输入三角形第二条直角边长:4直角三角形的面积为:6.0
试题程序:#请在_____处使用一行代码或表达式替换
#注意:请不要修改其他已给出代码
a=float(input("输入三角形第一条直角边长:"))
b=float(input("输入三角形第二条直角边长:"))
_____(1)_____print("直角三角形的面积为:{_____(3)_____}".format(area))
参考答案
1.B文件打开模式中w表示覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。文件写入方法中,writelines表示直接将列表类型的各元素连接起来写入文件中。此代码就是将列表ls中的内容整体写入文件中,本题选B选项。
2.D文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容,A选项正确。可以使用open()打开文件,用close()关闭文件,B选项正确。在Python中,文件读取方法如下(f代表文件变量)。f.read():从文件中读入整个文件内容。f.readline():从文件中读入一行内容。f.readlineS():从文件中读入所有行,以每行为元素形成一个列表。f.seek():改变当前文件操作指针的位置。C选项正确。本题选择D选项。
3.D找称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。A、B、C、D、E依次入栈,则依次出栈顺序为E、D、C、B、A;F、G、H、I、J依次入队,则依次出队顺序为F、G、H、I、J。故输出序列为E,D,C,B,A,F,G,H,I,J。本题选择D选项。
4.A在Python中,使用open()打开文件的操作过程中需要注意,由于“\”是字符串中的转义符,所以表示路径时,使用“\\”,“/”或“//”代替“\”。本题选择A选项。
5.CPython中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。 循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。 pass:什么事也不做,只是空占位语句,是无运算的占位语句,当语法需要语句并且还没有任何使用的语句可写时,就可以使用它。它通常用于为复合语句编写一个空的主体。 例如,如果想写个无限循环,每次迭代什么也不做,就写个pass。pass是有意义的,例如,忽略try语句所捕获的异常,以及定义带属性的空类对象,而该类实现的对象行为就像其他语言的结构和记录。 pass有时指的是“以后会填上”,只是暂时用于填充函数主体而已,无法保持函数体为空而不产生语法错误,因此,可以使用pass来替代。 两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。
6.A分析题目及程序代码可知,题意是将字典中的键值互换。tb.items()以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键,值)元组数组。因此,for循环中it每次遍历得到的是一个元组,依次为(’yingyu’,20)、(’shuxue’,30)、(’yuwen’,40),然后将元组中序号为0的元素和序号为1的元素互换位置,实现字典中键值的互换,应填入stb[it[1]]=it[0]。
7.D使用rmdir()删除目录之前要先清除其中所有的文件,否则会报OSError错误。本题选择D选项。
8.A
9.D文件打开模式如下。“V”:只读模式,如果文件不存在,返回异常FileNotFmindError,默认值。“X”:创建写模式,文件不存在则创建,存在则返回异常FileExlstsError。“w”:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。“a”:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。文件打开模式中没有“n”。本题选择D选项。
10.D
11.C编译软件、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件。本题选择C选项。
12.A程序中b=4200,a=0.36,b-a=4199.64。本题选择A选项。
13.D根据字典的索引方式可知,d.get(‘egg’,‘nothisfood’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是nothisfood。本题选择D选项。
14.B定义一个变量a=0,for循环遍历[1,5)区问的数,计算该区间的累加和,最后将结果输出。
15.B该代码是一个匿名函数和split()方法的结合使用,split()方法把字符串words以空格分隔,返回的是列表类型。通过for循环把列表元素赋值给变量i,然后调用函数f计算每个单词的长度,所以输出的是566。
16.Arandom.uniform(a,b):生成一个区间为[a,b)的随机小数。本题选择A选项。
17.D先计算幂,3**2=9,9*4=36,36//6=6,6%7=6。//是整除运算,%是求余运算。本题选D选项。
18.Awhile循环条件一直为True,即无限循环,只要“inp//3”条件为真,进入循环,则执行break语句,即可跳出while循环。2//3的值为0,条件为假,不执行break语句,无法结束程序执行。本题选择A选项。
19.D
20.Bfor循环遍历字符串,将字符串中的字符依次赋值给变量s,当s==i的时候,跳出该循环,输出之前变量s被赋值的字符,所以输出为PythonN。本题选择B选项。
21.A
22.D栈称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。F,G,H,I,J依次人队,则依次出队顺序为F,G,H,I,J;A,B,c,D,E依次人栈,则依次出栈顺序为E,D,C,B,A。故输出顺序为F,G,H,I,J,E,D,c,B,A。本题选D选项。
23.B栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。本题选择B选项。
24.B
25.C列表中正向递增索引从0开始,反向递减索引从-1开始,ls[2][-1][2]指的是列表中索引为2的元素下的索引为-1元素下的索引为2的元素,输出结果是s。本题选择C选项。
26.Brange()函数只有一个参数时会产生从0开始计数到输入参数的前一位整数结束的整数列表;有两个参数时,则将第一个参数作为起始位,第二个参数作为结束位,输出从起始位到结束位的前一位的整数列表;有3个参数时,第三个参数表示步长,起始位按照步长递增或递减。len(ls)函数返回列表ls的元素个数3。B选项,foriinrange(len(s))中i的值分别为0、1、2,而在foriinls中每一步的i为‘1’、‘2’、‘3’,所以i的值不相同。本题选择B选项。
27.Dlen(d)方法返回字典d的键值对个数。字典的每个键值对用冒号(:)连接,不同键值对之间用逗号(,)隔开,整个字典包括在花括号({})中。字典d中共有3个键值对,故len(d)=3。本题选择D选项。
28.B赋值运算的一般形式:变量=表达式,左边只能是变量。A选项是连续赋值,C选项是序列赋值,D选项可以写为x=x+y。本题选择B选项。
29.CPylnstaller工具没有-L参数;-D是默认值,生成dlst目录;-F是指在dlst文件夹中只生成独立的打包文件;-i是指定打包程序使用的图标文件。本题选择C选项。
30.Bappend()可以向列表元素的结尾增加元素。本题选择B选项。
31.N
32.N
33.Y
34.Y
35.Y
36.Y
37.Y
38.Y
39.Y
40.Y
41.6
42.FalseTrue
43.True
44.'HELLOWORLD'
45.[1,2,4,5,6]
46.py、pyw
47.max()
48.[[1,4],[2,5],[3,6]]
49.{1,2,3}
50.3
51.importturtleforiinrange(4):turtle.seth(90*(i+1))turtle,circle(50,90)turtle.seth(-90+i*90)turtle,
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/36774.html