湖北省咸宁市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第1页
湖北省咸宁市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第2页
湖北省咸宁市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第3页
湖北省咸宁市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第4页
湖北省咸宁市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

湖北省咸宁市全国计算机等级考试Python语言程序设计重点汇总(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.若I,j均为整形数值对象,以下哪个语句计算i被j除后的余数()

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

2.在Python语言中,使用open()打开一个Windows操作系统D盘下的文件,路径名错误的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

3.以下对Python文件处理的描述中,错误的是()。

A.当文件以文本方式打开时,读/写按照字节流方式

B.Python能够以文本和二进制两种方式处理文件

C.Python通过解释器内置的open()函数打开一个文件

D.文件使用结束后可以用close()方法关闭,释放文件的使用授权

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

A.hlbstB.htslbhtC.tsblthD.hhlstt

5.以下程序的输出结果是()。forsin“grandfather”: ifs==“d”ors==“h”: continue print(s,end=‘’)

A.grandfatherB.granfaterC.grandD.father

6.以下程序的输出结果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

7.在Python中,使用for-in方式形成的循环不能遍历的类型是()。

A.复数B.列表C.字典D.字符串

8.以下选项不属于组合数据类型的是()。

A.字典类型B.复数类型C.列表类型D.集合类型

9.以下关于Python循环结构的描述中,错误的是()。

A.break用来结束当前的循环语句,但不跳出当前的循环体

B.遍历循环中的遍历结构可以是字符串、文件、组合数据类型及range()函数等

C.Python通过for、while等保留字构建循环结构

D.continue只结束本次循环

10.下面关于类的说法错误的是()。

A.类是一种实例

B.在类进行实例化时将会首先执行该类中的im()方法

C.在对类进行实例化时,传入的实参不用带上self,它在类执行过程中将自行带上

D.类中的变量若带有前缀self,则意味着此变量在类中任意位置可以使用

11.关于函数定义,以下形式错误的是()。

A.deffoo(*a,b)

B.deffoo(a,b=10)

C.deffoo(a,*b)

D.deffoo(a,b)

12.文件exam.txt与以下程序在同一目录下,其内容是一段文本bigBen,以下程序的输出结果是()。f=open(“exam.txt”)print(f)f.close()

A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam

13.以下程序的输出结果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina: forjinrange(3): s+=c[j]print(s)

A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0

14.一棵二叉树共有25个节点,其中5个是叶子节点,则度为1的节点数为()。

A.16B.10C.6D.4

15.执行以下代码的结果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

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

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

17.turtle画图结束后,让画面停顿,不立即关闭窗口的函数是()。

A.turtle.setup()

B.turtle.done()

C.turtle.penup()

D.turtle.clear()

18.以下关于分支结构的描述中,错误的是()。

A.if语句中语句块执行与否依赖于条件判断

B.if语句中条件部分可以使用任何能够产生True和False的语句和函数

C.二分支结构有一种紧凑形式,使用保留字if和else实现

D.多分支结构用于设置多个判断条件及其对应的多条执行路径

19.Python3中获取用户输入并默认以字符串存储的函数是()

A.raw_inputB.inputC.rawD.print

20.以下程序的输出结果是()。foriin”miss":Forjinrange(3):print(i,end=”)ifi=="i”:breakA.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

21.以下程序执行后,book.txt文件的内容是()。fo=open(“book.txt”,“w”)ls=[‘book’,‘23’,‘201009’,‘20’]fo.write(str(ls))fo.close()

A.[‘book’,‘23’,‘201009’,‘20’]

B.book,23,201009,20

C.[book,23,201009,20]

D.book2320100920

22.定义在类中的方法之外的变量是()

A.实例变量B.类变量C.公有变量D.私有变量

23.以下代码的输出结果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

24.下面关于CSV文件描述错误的是()。

A.CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据

B.CSV文件的每一行是一维数据,可以使用Python中的列表类型表示

C.CSV文件通过多种编码表示字符

D.整个CSV文件是一个二维数据

25.以下程序被调用后,能够正确执行的是()。deff(x,y=1,z=2):pass

A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)

26.以下关于元组的描述正确的是()。

A.元组和列表相似,所有能对列表进行的操作都可以对元组进行

B.创建元组时,若元组中仅包含一个元素,在这个元素后可以不添加逗号

C.元组中的元素不能被修改

D.多个元组不能进行连接

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

A.字典中不可以嵌套字典

B.单分支结构的格式为if-elif

C.Python中整数的默认书写格式是二进制

D.Python中采用“#”表示一行注释的幵始

28.以下代码的输出结果是()。t=10.5defabove_zero(t):returnt>0

A.TrueB.FalseC.10.5D.没有输出

29.下面代码的输出结果是()。list=[[0,1,2],"123.0","python"]a=all(list[0])b=list[1].split(".")c=ascii(list[2])print(a,b,c)

A.True['123']'python'

B.False['0']'l’

C.Tme[‘123’,’0’]丨1'

D.False[‘123’,’0’]'python’

30.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。

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

二、判断题(10题)31.定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。

A.是B.否

32.Python标准库os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表。

A.是B.否

33.在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了__mul__()方法即可支持该类对象的**运算符。

A.是B.否

34.函数是代码复用的一种方式。

A.是B.否

35.定义类时如果实现了__len__()方法,该类对象即可支持内置函数len()。

A.是B.否

36.定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。

A.是B.否

37.标准库os的rename()方法可以实现文件移动操作。

A.是B.否

38.字典可以作为集合的元素。

A.是B.否

39.Python运算符%不仅可以用来求余数,还可以用来格式化字符串。

A.是B.否

40.表达式pow(3,2)==3**2的值为True。

A.是B.否

三、填空题(10题)41.表达式16**0.5的值为__________。

42.表达式type(3+4j)in(int,float,complex)的值为____________。

43.已知字典x={i:str(i+3)foriinrange(3)},那么表达式sum(x)的值为______。

44.表达式sum(range(1,10))的值为_____________。

45.表达式list(range(50,60,3))的值为_______________________。

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

47.表达式r'c:\windows\notepad.exe'.endswith(('.jpg','.exe'))的值为_______。

48.已知列表x=[1,3,2],那么执行语句x=x.reverse()之后,x的值为____________。

49.表达式1234%1000//100的值为___________。

50.已知x=[3,5,7],那么执行语句x[1:]=[2]之后,x的值为________________。

四、操作题(3题)51.考生文件夹下存在一个文件“PY301.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能。设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准

52.考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:马和骆驼都是哺乳动物的一种,它们都有四只脚,体型也差不多大,作为现实世界中的一个类生物,我们将在这里为它们编写属于它们各自的类。

问题1:在PY301一1.py文件中修改代码,代码中编写了一个马(Home)的类,在这个类中马有三个属性,分别是年龄(age)、品种(category)和性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种和性别。该类中还编写一个get_deseriptive()方法,能够打印出马的这三个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以打印出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_speed()方法用来更新马当前的最快速度值。

例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50km/h,要求调用get_descriptive()和update_speed()方法,将输出的结果保存在考生文件夹下,文件命名为“PY301—1.txt”。

试题程序:

#以下代码为提示框架

#请在…处使用一行或多行代码替换

#请在_____处使用一行代码替换

#注意:提示框架代码可以任意修改,以完成程序功能为准

fo=open(“PY301—1.txt”,”W”)______Horse():

def______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+_____+’yearsold,’+’itscategoryis’+_+’,’+’itsfenderis’+_______+’.’

fo.write(info+“\n”)

defupdate_speed(self,new_speed):________

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)

fo.close()

问题2:在PY301—2.py文件中修改代码,该代码编写了一个骆驼类(Camel),这个类继承自上一个文件中的马类但是不对马类中的属性和方法进行操作。因为每个骆驼的驼峰数量不一致,我们在类中添加驼峰数目这个新属性,并且添加一个打印出骆驼驼峰数量的方法。

例如:一个双峰驼20岁的母骆驼以每小时40千米的速度奔跑在沙漠中,调用父类的方法和Camel类本身的方法将结果保存在“PY301—2.txt”中,保存在考生文件夹下。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换

#请在________处使用一行代码替换

#注意:提示框架代码可以任意修改,以完成程序功能为准

fo=open(”PY301—2.txt”,”W”)

________Horse():

def_______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+________+’yearsold,’+’itscategoryis’+_______+’,’+’itsfendemis’+_______+’.’

fo.write(info+"\n")

defupdate_speed(self,new_speed):

________fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.\n”)clasSCamel(Horse):

def__init__(self,category,gender,age):

______.__init__(category,gender,age)

self.hump_size=2defdescribe_hump_size(self):

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)

fo.close()

53.考生文件夹下存在一个文件“PY201.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。使用循环输出由星号组成的实心菱形图案,如下所示。试题程序:#请在...处使用一行或多行代码替换#注意:请不要修改其他已给出代码foriinrange(0,4):…foriinrange(0,4):…

参考答案

1.C

2.A在Python语言中,使用open()打开文件的操作过程中需要注意,由于’\’是字符串中的转义符,所以表示路径时,使用”\\”、”/”或”//”代替”\”,A项错误。

3.A文件包括文本文件和二进制文件两种类型。Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”,B选项正确。采用文本方式读入文件,文件经过编码形成字符串,输出有含义的字符;采用二进制方式打开文件,文件被解析为字节流,A选项错误。Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法格式为<变置名>=open(<文件路径及文件名>,<打开模式>\n),C选项正确。文件使用结束后要用clooe()方法关闭,释放文件的使用授权,语法格式为<变置名>dose()\n,D选项正确。本题选择A选项。

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

5.Bfor循环将字符串“grandfather.”中的字符依次赋给变量s,当s==“d”或s==“h”时,结束本次循环,不执行print(s,end=‘’);反之,执行print(s,end=‘’)。故输出结果为granfater。本题选择B选项。

6.Bfun(“5”)是将字符“5”赋给形参x,由于‘5’是字符类型,不是数字类型,不能进行数值运算,因此“x*4”是把字符“5”连续复制4次输出。本题选择B选项。

7.Afor-in遍历结构可以是字符串、文件、range()函数及组合数据类型。本题选择A选项。

8.B能够表示多个数据的类型称为组合数据类型。Python语言中最常用的组合数据类型有3大类:集合类型、序列类型(典型代表是字符串类型和列表类型)和映射类型(典型代表是字典类型)。复数类型不属于组合数据类型。本题选择B选项。

9.A在Python中,break意为结束循环,continue是结束当前循环进入下一个循环。本题选择A选项。

10.AA选项中类只是一种抽象事物的分类,对象才是一种实例。本题选择A选项。

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

12.Copen()函数打开一个文件,并返回可以操作这个文件的变量f,并且open()函数有两个参数:文件名和打开模式。本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(f)语句输出的是变量f代表的文件的相关信息:<_io.TextIOWrappername=‘exam.txt’mode=‘r’encoding=‘cp936’>。若想要输出文件的内容,需要把文件的内容读入,如f1=f.read()。本题选择C选项。

13.B外层for循环是将a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次赋给变量c;内层for循环将变量j从0递增到2,即累加c[1]+c[2]+c[3]的值。所以内层循环加外层循环是计算1+2+3+4+5+6+7+8+9的值,即s=45。本题选择B选项。

14.A根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1\n=4个,所以度为1的结点的个数是25-5-4=16个。本题选择A选项。

15.D

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

17.Bsetup()函数用于设置主窗体的大小和位置;penup()函数用于提起画笔;clear()函数用于清空当前窗口,但不改变画笔的位置;done()函数用于让画面停顿,但不立即关闭窗口。本题选择B选项。

18.CPython的单分支结构使用if关键字对条件进行判断,语法格式如下:if〈条件>:<语句块>Python的二分支结构使用if-else关键字对条件进行判断,语法格式如下:if<条件>:<语句块1>else:〈语句块2>Python的多分支结构使用if-elif-else关键字对多个相关条件进行判断,并根据不同条件的结果按照顺序选择执行路径,语法格式如下:if<条件1>:〈语句块1>elif<条件2>:<语句块2>else:〈语句块3>本题选择C选项。

19.B

20.B外层for循环依次将字符串miss中的字符赋给变量i,内层for控制循环3次,注意是先执行Print()再判断if条件,输出第一个i后,碰到if判断条件,当i\r\n==”i”时退出内层循环,所以结果为mrmnis-sssss。本题选择B选项。

21.A执行fo=open(“book.txt”,“W”),打开book.txt文件,打开模式为“W”(覆盖写模式);创建列表ls=[“book”,“23”,“201009”,“20”];str()函数返回一个对象的字符串格式,str(ls)将列表类型的ls转换为字符串类型,fo.write(str(ls))将字符串写入book.txt文件中。本题选择A选项。

22.B

23.C该程序最外层是while循环,while循环的条件是True,由此可知while内的语句会无限循环。input()函数是用来获取用户从键盘输入的内容并以字符串类型返回。eval()函数是把字符串转换成Python可用的语言。if语句的作用是来控制程序是否继续循环,判断条件中0x452是十六进制数,对2整除的结果是553,如果用户输入的数据是553,则将结果输出并终止循环;如果输入其他数据,程序会一直要求用户输入直到输入正确的数据才会终止循环。本题选C选项。

24.CCSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。本题选择C选项。

25.B函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传人对应的参数值,则使用函数定义时的默认值替代。本题在定义函数时,y=1,z=2就是指定的默认值。在Python中,函数调用时,参数传递的主要方式有位置传递和关键字传递两种。位置传递是根据函数定义的参数位置来传递参数;关键字传递是根据每个参数的名字传递参数,该方式不用区分参数顺序位置,名字对了就行。关键字传递可以和位置传递混用,但混用时位置参数要出现在关键字参数之前。A项,第一个参数为关键字传递,第二个参数为位置传递,混用顺序不对;D项,第二个参数为关键字传递,第三个参数为位置传递,混用顺序不对;C项,第一个参数已经使用位置传递(将1传递给x),第二个参数又使用关键字传递将2传递给x,会出现异常报错。故答案为B项。

26.C元组和列表相似,但并不是所有能对列表进行的操作都可以对元组进行,如可以对列表进行修改元素,但对元组则不可以;创建元组时,即使元组中仅包含一个元素,也要在这个元素后添加逗号;多个元组可以使用“+”号进行连接。

27.D字典中可以嵌套字典;单分支结构的格式为if;Python中整数的默认书写格式是十进制。本题选择D选项。

28.D在Python语言中,retum语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,故程序无输出。本题选择D选项。

29.Dall(x)函数在组合类型变量x中所有元素为真时返回True,为假时返回False,若为空,则返回True,所以a的值为False;b中split()是字符串分隔函数,返回分隔后的值应为[‘123’,’0’]\n;c中ascii()的参数是字符串python,所以返回’python'。本题选择D选项。

30.B因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。本题选择B选项。

31.Y

32.Y

33.N

34.Y

35.Y

36.Y

37.Y

38.N

39.Y

40.Y

41.4

42.True

43.3

44.45

45.[50,53,56,59]

46.True

47.True

48.None

49.2

50.[3,2]

51.importletter_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’]letter=letter一list[random.randint(0,25)]count=0whileTrue:Letter_input=input(‘请输入26个小写英文字母中的任一个:’)Count+=1Ifletter_inputnotinletter_list:Print(‘请重新输入字母’)Else:Ifcount>5Print(‘猜测超过5次,答题失败’)BreakElse:Ifletter_input==letter:Print(‘恭喜你答对了,总共猜了{}次’.format(count))BreakElifletter_input>letter:Print(‘你输入的字母排在该字母之后’)Elifletter_inputPrint(‘你输入的字母排在该字母之前’)Else:Print(‘未知错误’)随机抽取26个小写字母,需要使用Python的random库中的函数。mndint(\r\na,b)函数生成一个区间为[a,b]的整数,用来随机抽取列表中的字母。根据题目要求总体分为两个方向:①输入的字符不是小写字母中的任一个字符,则输出“请重新输入字母”;②若输入的字符在列表中,则判断输入的次数是否大于5,大于5则输出“猜测超过5次,答题失败”并退出循环,在输入次数之内,对输入的字符与随机抽取的字符进行比较,即大于、小于及等于,不同的比较范围对应不同的输出。

52.(1)fo=open(”PY301一1.txt”,”w”)\r\nclassHorse():

def==init==(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\n

defget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+'itsfenderis'+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")\r\nhorse.get_deseriptive()\r\nhorse.update_speed(50)\r\nfo.close()\r\n(2)fo=open(”PY301~2.txt”,”w”)\r\nclassHorse():\r\n

def__init__(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\ndefget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’years

温馨提示

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

评论

0/150

提交评论