吉林省松原市全国计算机等级考试Python语言程序设计专项练习(含答案)_第1页
吉林省松原市全国计算机等级考试Python语言程序设计专项练习(含答案)_第2页
吉林省松原市全国计算机等级考试Python语言程序设计专项练习(含答案)_第3页
吉林省松原市全国计算机等级考试Python语言程序设计专项练习(含答案)_第4页
吉林省松原市全国计算机等级考试Python语言程序设计专项练习(含答案)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉林省松原市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.关于函数定义,以下形式错误的是()。

A.deffoo(*a,b)

B.deffoo(a,b=10)

C.deffoo(a,*b)

D.deffoo(a,b)

2.以下程序的输出结果是()。11=[’aa’,[2,3,3.0]]print(11.index(2))

A.2B.3.0C.3D.ValueError

3.当在命令行中以pythonmy.pyv1v2形式运行python脚本时,通过fromsysimportargv如何获得v2的参数值?

A.argv[0]B.argv[1]C.argv[2]D.argv[3]

4.下面代码的输出结果为()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

5.下列关于Python中复数类型的描述错误的是()。

A.复数由实数部分和虚数部分构成

B.复数可以看作二元有序实数对(a,b)

C.虚数部分必须有后缀j,且为小写

D.复数中的虚数部分不能单独存在,必须有实数部分

6.用Pylnstaller工具打包Python源文件时,-F参数的含义是()。

A.指定所需要的第三方库路径

B.在dist文件夹中只生成独立的打包文件

C.指定生成打包文件的目录

D.删除生成的临时文件

7.以下语句不会引发异常的是()。

A.a=b=3+1jB.1+“1”C.3/0D.print“noerror”

8.以下不属于Python控制结构的是()。

A.顺序结构B.循环结构C.分支结构D.数据结构

9.下面关于Python中函数的说法错误的是()。

A.函数的形参不需要声明其类型

B.函数没有接收参数时,圆括号可以省略

C.函数体部分的代码要和关键字def保持一定的缩进

D.函数可以有return语句,也可以没有return语句

10.以下描述中,错误的是()。

A.Python语言通过索引来访问列表中元素,索引可以是负整数

B.列表用方括号来定义,继承了序列类型的所有属性和方法

C.Python列表是各种类型数据的集合,列表中的元素不能够被修改

D.Python语言的列表类型能够包含其他的组合数据类型

11.以下哪个选项是正确的Python搜索变量的顺序

A.内置作用域(Built-in)→全局/模块作用域(Global)→当前作用域被嵌入的本地作用域(Enclosinglocals)→本地作用域(Local)

B.本地作用域(Local)→当前作用域被嵌入的本地作用域(Enclosinglocals))→内置作用域(Built-in)→全局/模块作用域(Global)

C.本地作用域(Local)→内置作用域(Built-in)→当前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模块作用域(Global)

D.本地作用域(Local)→当前作用域被嵌入的本地作用域(Enclosinglocals)→全局/模块作用域(Global)→内置作用域(Built-in)

12.以下程序的输出结果是()。s=[4,2,9,1]s.insert(3,3)print(s)

A.[4,2,9,1,2,3]B.[4,3,2,9,1]C.[4,2,9,2,1]D.[4,2,9,3,1]

13.下列关于Python的描述正确的是()。

A.Python的整数类型有长度限制,超过上限会产生溢出错误

B.Python中采用严格的“缩进”来表明程序格式,不可嵌套

C.Python中可以用八进制来表示整数

D.Python的浮点数类型没有长度限制,只受限于内存的大小

14.软件按功能可以分为应用软件、系统软件及支撑软件(或工具软件)。下面属于应用软件的是()。

A.编译程序B.操作系统C.教务管理系统D.汇编程序

15.以下程序的输出结果是()。ss=set(“htslbht”)sorted(ss)foriinss: print(i,end=‘’)

A.hlbstB.htslbhtC.tsblthD.hhlstt

16.以下关于函数优点的描述中,正确的是()。

A.函数可以表现程序的复杂度B.函数可以使程序更加模块化C.函数可以减少代码使用次数D.函数便于书写

17.在Python中,用来安装第三方库的工具是()。

A.installB.pipC.PyQt5D.Pylnstaller

18.以下代码的输出结果是()。print(0.1+0.2==0.3)

A.一1B.TrueC.FalseD.0

19.以下关于程序的异常处理的描述中,错误的是()。

A.except语句后面可以指定异常类型

B.异常和错误是两个相同的意思

C.带有else子句的异常处理结构,当try中的语句块正常执行结束且没有异常时执行else子句中的代码

D.异常处理机制虽然可以解决程序的一些错误,但不建议过度依赖

20.在Python语言中,IPO模式不包括()。

A.Program(程序)B.Input(输入)C.Process(处理)D.Output(输出)

21.执行以下代码的结果是?type(lambda:None)A.(type‘NoneType’)

B.(type‘function’)

C.(type‘tuple’)

D.(type‘type’)

22.若I,j均为整形数值对象,以下哪个语句计算i被j除后的余数()

A.imodjB.i/jC.i%jD.i//j

23.下面哪个语句能够让列表中的名字按行输出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

24.以下代码的输出结果是()。forsin“PythonNice!":ifs=="i”:breakprint(s,end=””)

A.PythonB.PythonNC.PythonNiD.PythonNice

25.以下程序中,while循环的循环次数是()。i=0whilei<10:ifi<1:print(”Python”)continueifi==5:print(”World!”)breaki+=1

A.10B.5C.4D.死循环,不能确定

26.拟在屏幕上输出HelloWorld,使用的Python语句是()。

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld")

D.printf("HelloWorld")

27.商品销售的售货单和商品之间的联系是()。

A.多对多B.一对多C.多对一D.一对一

28.下面代码的输出结果是()。a=divmod(5,2)b=divmod(2,6)c=set(a+b)print(sum(C))

A.3B.5C.2D.0

29.执行以下代码的结果是?foo={1,3,3,4}type(foo)

A.setB.dictC.tupleD.object

30.—个模块直接调用的下层模块的数目称为模块的()。

A.扇入数B.扇出数C.宽度D.作用域

二、判断题(10题)31.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

32.调用函数时,在实参前面加一个型号*表示序列解包。A.是B.否

33.使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。

A.是B.否

34.调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值。

A.是B.否

35.在编写应用程序时,应合理控制线程数量,线程并不是越多越好。

A.是B.否

36.9999**9999这样的命令在Python中无法运行。

A.是B.否

37.如果在函数中有语句return3,那么该函数一定会返回整数3。

A.是B.否

38.在UTF-8编码中一个汉字需要占用3个字节。

A.是B.否

39.字符串属于Python有序序列,和列表、元组一样都支持双向索引。

A.是B.否

40.二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。

A.是B.否

三、填空题(10题)41.表达式isinstance('Helloworld',str)的值为__________。

42.已知x,y=3,5,那么执行x,y=y,x之后,x的值为__________。

43.已知g=lambdax,y=3,z=5:x+y+z,那么表达式g(2)的值为________。

44.可以使用内置函数___________________查看包含当前作用域内所有局部变量和值的字典。

45.表达式type({3:3})的值为__________。

46.表达式'Thefirst:{1},thesecondis{0}'.format(65,97)的值为______________________________。

47.表达式list(filter(lambdax:x>2,[0,1,2,3,0,0]))的值为_________。

48.表达式type(3.0)in(int,float,complex)的值为____________。

49.已知x=[1,2,3,4,5],那么执行语句delx[1:3]之后,x的值为____________。

50.在循环语句中,_______语句的作用是提前进入下一次循环。

四、操作题(3题)51.考生文件夹下存在一个文件“PY102.py”,请写代码替换横线,不修改其他代码,实现以下功能。a和b是两个列表变量,列表a为[11,3,8]已给定,输入列表b,计算a中元素与b中对应元素乘积的累加和。例如:输入的列表b为[4,5,2],累加和为11*4+5*3+8*2=75,因此,屏幕输出的计算结果为75。试题程序:#请在程序的_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)

52.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。用键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(_____,_____):

53.考生文件夹下存在3个Python源文件,分别对应3个问题;1个文本文件,作为本题目的输入数据,请按照源文件内部说明修改代码,实现以下功能。《卖火柴的小女孩》是丹麦童话故事作家安徒生写的一篇童话故事,发表于1846年。主要讲了一个卖火柴的小女孩在富人阖家欢乐、举杯共庆的大年夜冻死在街头的故事。这里给出《卖火柴的小女孩》的一个网络版本文件,文件名为“小女孩.txt”。问题1:在“PY301-1.py”文件中修改代码,对“小女孩.txt”文件进行字符频次统计,输出频次最高的中文字符(不包含标点符号)及其频次,字符与频次之间采用英文冒号(:)分隔,将输出结果保存在考生文件夹下,命名为“PY301-l.txt”。示例格式如下。的:83试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()问题L在“PY301-2.Py”文件中修改代码,对“小女孩.txt”文件进行字符频次统计,按照频次由高到低,输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出,将输出结果保存在考生文件夹下,命名为“PY301-2.txt”。示例格式如下。,的一...(共10个字符)试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符频次由高到低排序…问题3:在PY301-3.py文件中修改代码,对“小女孩.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等,但不包含空格符和回车符。将排序后的字符及频次输出到考生文件夹下,文件名为“小女孩-频次排序.txt”。字符与频次之间采用英文冒号(:)分隔,各字符之间采用英文逗号(,)分隔,参考CSV格式,最后无逗号,文件内部示例格式如下。着:30,那:29,火:29试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符频次由高到低排序

参考答案

1.APython在定义函数的时候,不仅可以设置普通的形参,如”deffun(arr1,arr2=’我是2号参数’)”(其中arr1为必传参数,arr2为可选参数),还可以传入两种特殊的参数:带*或**的参数。这两类形式的参数都可以传人任意数量的实参,它们的不同点主要在于*参数传入的为一个元组(tuple);**参数传人的则为一个字典(diet)。由于传入的参数数量不确定,因此当它们与普通参数放在一起时,必须把它们放在最后。故A项错误。

2.D列表的index()方法用于从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。本题中11.index(2)是指在列表11中查找对象2,但列表中并不存在元素2,因此会异常。故答案为D项。

3.C

4.C该程序段是输出8以内的奇数,continue语句只结束本次循环,不终止整个循环的执行。

5.CPython中复数类型的虚数部分的后缀可以为j或者J;复数的实部可以单独存在,但是虚部不可以单独存在;复数由实部和虚部构成,可以使用z.\nreal和z.imag分别获得它的实部和虚部。本题选择C选项。

6.B-F是指在dlst文件夹中只生成独立的打包文件(即.exe文件),所有的第三方依赖、资源和代码均打包到此文件中。本题选择B选项。

7.A不同类型之间不能相互运算;除数不能为0;print“noerror”语句是Python2.x系列的语法,不适用Python3.x系列。本题选择A选项。

8.DPython控制结构包括顺序结构、循环结构及分支结构。本题选择D选项。

9.BA选项正确,Python中函数形参不需要声明其类型,也不需要指定函数的返回值类型;C选项是Python正确的缩进规定;D选项正确,return语句结束函数时选择性返回一个值给调用方,不带return语句的,相当于返回None。B选项中,当函数没有接收参数时,圆括号也不能省略,错误。本题选择B选项。

10.C列表用中括号([])表示,由于列表属于序列类型,故继承了序列类型的所有属性和方法,B项正确。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增序号或反向递减序号,使用中括号作为索引操作符,索引号不得超过列表的元素范围,否则将产生IndexError错误。A项正确。列表可以进行元素增加、删除、替换、查找等操作,列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,故D项正确、C项错误。

11.D

12.D在Python中,想要在列表中的任意位置插入元素,一般使用insert()方法。insert()方法有两个参数:第一个参数代表在列表中的位置,第二个参数是在这个位置处插入的元素。注意:插入时,元素被插入该位置之前。列表索引从0开始,s=[4,2,9,1],s[3]=1,则执行s.insert(3,3)后,s=[4,2,9,3,1],最后print(s)。本题选择D选项。

13.CPython的整数类型没有长度限制;Python采用严格的“缩进”格式,可以嵌套;Python的浮点数类型有长度限制,也受限于内存的大小。本题选择C选项。

14.C编译软件、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件。本题选择C选项。

15.Aset()函数是将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合n因此,set(“htslbht”)的返回值是一个类似{‘h’,‘l’,‘b’,‘s’,‘t’}的集合,然后将其赋值给ss。sorted(ss)的返回值是对ss进行排序后的结果,即执行sorted(ss)后,ss的值并没有改变,最后仍输出hlbst。本题选择A选项。

16.B函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率。本题选择B选项。

17.B在Python中,使用pip工具来安装和管理Python第三方库,pip属于Python的一部分。本题选择B选项。

18.C在Python语言中,0.1+0.2=0.30000000000000004。原因是:对于十进制,它只能表示以进制数的质因子为分母的分数。10的质因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精确表示;相反,1/3、1/6和1/7都是循环小数,因为它们的分母使用了质因子3或者7。二进制下(进制数为2),只有一个质因子,即2,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4和1/8都可以被精确表示,但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的0.1与0.2(1/10与1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类可读的十进制数据时,会对小数尾部进行截断处理。在不同的语言中,运行0.1+0.2会输出不同的结果。

19.B编程语言的异常和错误是两个相似但不相同的概念。异常和错误都可能引起程序执行错误而退出,它们属于程序没有考虑到的例外情况。

20.A程序设计IPO模式:\nI:Input输入,程序的输入。程序的输入包括:文件输入、网络输入、控制台输入、随机数据输入、程序内部参数输入等。输入是一个程序的开始。\nP:Process处理,程序的主要逻辑。程序对输入进行处理,输出产生结果。处理的方法也叫算法,是程序最重要的部分。可以说,算法是一个程序的主要灵魂。\nO:Output输出,程序的输出。程序的输出包括:屏幕显示输出、文件输出、网络输出、操作系统内部变量输出等。输出是一个程序展示运算成果的方式。

21.B

22.C

23.A

24.Bfor循环遍历字符串,将字符串中的字符依次赋值给变量s,当s==i的时候,跳出该循环,输出之前变量s被赋值的字符,所以输出为PythonN。本题选择B选项。

25.Dwhile循环的判断条件为真时,进入循环体,为假时,直接执行while同级的代码。初始值为i=0,进入循环体之后,因为i<1,执行continue语句跳出本次循环,进入下一循环。i的值始终为0,故程序为死循环。

26.C在Python中,输出用print()函数,HelloWorld是字符串类型,需要加单引号或双引号。本题选择C选项。

27.A一张售货单可以有多种商品的记录,一种商品也可以出现在多张售货单上。因此售货单和商品之间的联系是多对多。

28.Adivmod(a,b)函数返回的是两个数值的商和余数,那么a和b的值就分别是(2,1)和(0,2),而C是把a、b相加后转为集合型,那么a\n+b为(2,1,0,2),转成集合后即为{0,1,2},最后是取总和的sum()函数,所以相加起来是的总和为3。本题选择A选项。

29.A

30.B扇入数指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题选择B选项。

31.Y

32.Y

33.Y

34.N

35.Y

36.N

37.N

38.Y

39.Y

40.Y

41.TRUE

42.5

43.1010

44.locals()

45.dict

46.'Thefirst:97,thesecondis65'

47.[3]

48.True

49.[1,4,5]

50.continue

51.a=[11,3,8]b=eval(input())S=0foriinrange(3):s+=a[i]*b[i]print(s)本题用变量S收集两个列表中对应元素乘积的和,因此要先定义变量S,第1空应填入s=0。两个列表中对应元素乘积可表示为a[i]*b[i],再求和S\r\n+=a[i]*b[i];由于列表中只有3个元素,索引从0开始,所以for循环遍历中i的取值依次为0、1、2,因此第2空应填入range(3)。

52.lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染个(2,num):If(num%i)==0:BreakElse:Print(num)题目要求输出两个整数之间(不包括这两个整数)的所有素数,因此mnge()函数的参数应为lower+1和upper。for循环遍历range(lower\r\n+l,upper)返回的每个整数num,判断该数是否为素数。如果num大于1(1既不是素数也不是合数),且该数能被取值范围为[2,num-1\r\n]的任何一个整数整除,那么该数一定不是素数,否则一定是素数。

53.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照词频由高到低排序foriinrange(10);fo.write(ls[i][0])fi.close()fo.close()(3)fi=open("小女孩.txt","r")fo=open(小女孩-频次排序。txt","w")t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论