陕西省西安市全国计算机等级考试Python语言程序设计预测试题(含答案)_第1页
陕西省西安市全国计算机等级考试Python语言程序设计预测试题(含答案)_第2页
陕西省西安市全国计算机等级考试Python语言程序设计预测试题(含答案)_第3页
陕西省西安市全国计算机等级考试Python语言程序设计预测试题(含答案)_第4页
陕西省西安市全国计算机等级考试Python语言程序设计预测试题(含答案)_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

陕西省西安市全国计算机等级考试Python语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.在软件开发中,需求分析阶段产生的主要文档是()。A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书

2.下列关于Python内置函数的使用描述错误的是()。

A.int(x)是将x转换为一个整数

B.print(“6+5”)的输出是11

C.die.clear()的结果是清空字典dic

D.使用aPPend()函数可以向列表添加元素

3.当用户输入2时,以下程序的输出结果是()。try: n=input(“请输入一个整数:”) defpow2(n): returnn**5 pow2(n)except: print(“程序执行错误”)

A.32B.2C.程序没有任何输出D.程序执行错误

4.以下关于Python函数的描述中,错误的是()。

A.Python程序的main()函数可以改为其他名称

B.如果Python程序包含一个函数main(),这个函数与其他函数地位相同

C.Python程序可以不包含main()函数

D.Python程序需要包含一个main()函数且只能包含一个main()函数

5.概念模型是()。

A.用于现实世界的建模,与具体的DBMS有关

B.用于信息世界的建模,与具体的DBMS有关

C.用于现实世界的建模,与具体的DBMS无关

D.用于信息世界的建模,与具体的DBMS无关

6.以下关于CSV文件的描述中,正确的是()。

A.CSV文件只能采用Unicode编码表示字符

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

C.CSV文件是一种通用的文件,主要用于不同程序之间的数据交换

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

7.以下程序的输出结果是()。letter=[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]foriinletter: ifi==‘D’: letter.remove(i)print(letter)

A.[‘A’,‘B’,‘C’]

B.[‘A’,‘B’,‘C’,‘D’,‘D’]

C.[‘A’,‘B’,‘C’,‘D’,‘D’,‘D’]

D.[‘A’,‘B’,‘C’,‘D’]

8.下面的d是一个字典变量,能够输出数字2的语句是()。d={‘food’:{‘cake’:1,‘egg’:5},’‘cake’:2,‘egg’:3}

A.print(d[‘food’][‘egg’])

B.print(d[‘cake’])

C.print(d[‘food’][-1])

D.print(d[‘cake’][1])

9.以下程序的输出结果是()。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]

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

A.在函数定义时必须固定参数的数量

B.使用位置参数传参时实参的数量和顺序必须和函数声明时的参数一样

C.若是参数有默认值,在调用函数时没有给参数赋值,调用的函数就会使用这个默认值

D.关键字参数传参是指在调用函数时通过参数名传递值

11.结构化程序设计的基本原则不包括A.多态性B.自顶向下C.模块化D.逐步求精

12.对于序列s,能够返回序列s中第i到第j以k为步长的子序列的表达式是()。

A.s[i:j:k]B.s[i,j,k]C.s[i;j;k]D.s(i,j,k)

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

A.列表的长度和内容都可以改变,但元素类型必须相同

B.不可以对列表进行成员运算操作、长度计算和分片

C.列表的索引是从1开始的

D.可以使用比较操作符(如>或<等)对列表进行比较

14.以下关于组合类型的描述,正确的是()。

A.空字典可以用大括号来创建

B.可以用set创建集合,用中括号和赋值语句增加新元素

C.字典数据类型里可以用列表做键

D.字典的items()函数返回一个键值对,并用元组表述

15.列表l1=[1,2,3],则表达式1+l1()A.[2,3,4]B.[1,1,2,3]C.[1,2,4]D.异常

16.下面代码的输出结果是()。>>>s=(3,)>>>type(s)

A.<class'diet'>

B.<class'tuple’>

C.<class'list'>

D.<class'set’>

17.请问以下代码执行的结果是()whileTrue:i=0print(i)ifi==7:breakA.死循环,一直输出0B.输出到6后,结束循环C.输出到7后,结束循环D.输出到8后,结束循环

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

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

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

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

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

19.为以下程序填空,使得输出结果是{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]]

20.下列叙述中正确的是()。

A.快速排序适用于顺序存储的线性表

B.快速排序适用于链式存储的线性表

C.链式存储的线性表不可能排序

D.堆排序适用于非线性结构

21.以下程序的输出结果是()。a=3.6e-1b=4.2e3print(b-a)

A.4199.64B.7.8e2C.0.6e-4D.4199.064

22.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。

A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩

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

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

24.某完全二叉树有256个节点,则该二叉树的深度为()。

A.7B.8C.9D.10

25.下面描述正确的是()。

A.软件是程序、数据与相关文档的集合

B.程序就是软件

C.软件既是逻辑实体又是物理实体

D.软件的运行不一定对计算机系统具有依赖性

26.以下关于Python中try语句的描述中,错误的是()。

A.try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行

B.当执行try代码块触发异常后,会执行except后面的语句

C.一个try代码块可以对应多个处理异常的except代码块

D.try代码块不触发异常时,不会执行except后面的语句

27.下面描述错误的是()。

A.对象一定有标识B.对象一定有属性和方法(或操作)C.对象具有封装性D.不同对象的同一属性一定有相同的属性值

28.以下不能创建一个字典的语句是()。

A.dic={}

B.dic={1:5}

C.dic={(1,2):“use”}

D.dic={[1,2]:“use”}

29.以下对文件描述错误的选项是()。

A.文件是一个存储在辅助存储器上的数据序列

B.文本文件和二进制文件都是文件

C.文件中可以包含任何数据内容

D.文本文件能用二进制文件方式读入

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

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

二、判断题(10题)31.Python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型了。

A.是B.否

32.为了让代码更加紧凑,编写Python程序时应尽量避免加入空格和空行。

A.是B.否

33.3+4j不是合法的Python表达式。

A.是B.否

34.在定义函数时,某个参数名字前面带有一个*符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。

A.是B.否

35.在Python中可以使用id作为变量名,尽管不建议这样做。A.是B.否

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

A.是B.否

37.创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。

A.是B.否

38.使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。

A.是B.否

39.集合可以作为字典的键。

A.是B.否

40.运算符“-”可以用于集合的差集运算。

A.是B.否

三、填空题(10题)41.表达式sum(range(10))的值为________________。

42.表达式[1,2]+[3]的值为__________________。

43.表达式len('SDIBT')的值为__________。

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

45.Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。

46.已知x={1:1,2:2},那么执行语句x[2]=4之后,len(x)的值为____________。

47.Python内置函数____________用来返回序列中的最大元素。

48.表达式'Helloworld'.upper()的值为___________。

49.表达式'Helloworld.IlikePython.'.rfind('python')的值为________。

50.表达式int('123',16)的值为_________。

四、操作题(3题)51.考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。马和骆驼都是哺乳动物,它们都有4只脚,体型也差不多大,我们将在这里为它们编写属于它们各自的类。问题1:在“PY301-l.py”文件中修改代码,代码中编写了一个马(Horse)的类,在这个类中马有3个属性,分别是年龄(age)、品种(category)及性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种及性别。该类中还编写一个get_descriptive()方法,能够输出马的这3个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以输出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_Speed()方法用来更新马当前的最快速度值。例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50千米每小时,要求调用get_descriptive()和up-date_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‘+_____+‘,’+‘itsfenderis‘+_____+’,’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()

52.考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入正整数n,按要求把n输出到屏幕。

格式要求:宽度为30个字符,以@填充,右对齐,带千位分隔符。如果输入的正整数超过30位,则按照真实长度输出。例如:用键盘输入的正整数n为5201314,屏幕输出@@@@@@@@@@@@@@@5,201,314

试题程序:

#请在程序的处使用一行代码或表达式替换

#注意:请不要修改其他已给出代码

n=eval(input("请输入正整数”))print("{_____}".format(n))

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.D需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D。

2.BB选项中正确的输出应为6+5,当Print()函数圆括号内的变量被引号标注,则该变量被视为字符串。本题选择B选项。

3.Dinput()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。当用户输入2时,n=‘2’,这是字符2,不是数字2,不能进行数值运算,故程序会执行except后面的语句,输出程序执行错误。本题选择D选项。

4.DPython是一种脚本解释语言,与C/C++和Java有很大的区别,没有main()函数。当运行单个Python文件时,如文件名为a.\npy,则a的属性_name_==’_main_’并不是首先执行main()函数。Py-thon整个程序自顶向下顺序执行。本题选择D选项。

5.C概念模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画,与具体的DBMS(数据库管理系统)无关。

6.CCSV文件是一种通用的、相对简单的文件,最广泛的应用是在程序之间转移表格数据。CSV文件没有通用标准规范,使用的字符编码同样没有被指定,但ASCII是最基本的通用编码。CSV文件可以保存一维数据或二维数据,每一行是一维数据,可以使用Python的列表类型表示。本题选择C选项。

7.D遍历列表letter,当i==‘D’时,执行letter.remove(i),此时列表letter=[‘A’,‘B’,‘C’,‘D’,‘D’];再次遍历列表letter,当i==‘D’时,执行letter.remove(i),此时列表letter=[‘A’,‘B’,‘C’,‘D’]。因为列表中的元素随着“D”元素的删除而减少,当删除第一个“D”元素之后,列表元素的个数变为5,for循环又是控制循环次数的,因此只遍历5次;当第二个“D”元素删除时,循环结束。本题选择D选项。

8.B在Python中,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。因此,可以直接利用键值对关系索引元素。索引模式:<值>=<字典变量>[<键>]。故能够正确索引字典并输出数字2的语句是print(d[‘cake’])。本题选择B选项。

9.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选项。

10.A在Python中,在函数定义时是可以设计可变数量参数的,通过在参数前加星号(*)实现。可变参数在定义时只有两种变现形式:*param和**param,前者表示可以接受多个位置参数收集的实参组成一个元组,后者表示可以接收多个关键字参数收集的实参名和值组成一个字典。

11.A结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。

12.A序列切片的方式:<序列>[起始索引:结束索引:步长]。Python在[]中表示区间使用冒号。本题选择A选项。

13.D列表是包含0个或多个元素的有序序列,属于序列类型。列表用中括号([])表示,由于列表属于序列类型,故继承了序列类型的所有属性和方法。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增序号或反向递减序号,使用中括号作为索引操作符,索引号不得超过列表的元素范围,否则将产生lndexError错误。索引下标从0开始。列表可以进行元素增加、删除、替换、查找等操作。列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,可以使用比较操作符(如>或<等)对列表进行比较,也可以对列表进行成员运算操作、长度计算和分片。故D项正确。

14.A集合中可以使用add()方法增加新元素,不能使用中括号来添加,B项错误;字典数据类型必须用不可变的元素做键,而列表是可变的,不能做键,C项错误;字典的items()函数返回的是所有的键值对,D项错误。故正确答案为A项。

15.D

16.B变量s是元组类型,type()返回的是表达式的值的类型。本题选择B选项。

17.A

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

19.A分析题目及程序代码可知,题意是将字典中的键值互换。tb.items()以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键,值)元组数组。因此,for循环中it每次遍历得到的是一个元组,依次为(’yingyu’,20)、(’shuxue’,30)、(’yuwen’,40),然后将元组中序号为0的元素和序号为1的元素互换位置,实现字典中键值的互换,应填入stb[it[1]]=it[0]。

20.A排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。本题选择A选项。

21.A程序中b=4200,a=0.36,b-a=4199.64。本题选择A选项。

22.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。

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

24.C

25.A计算机软件是由程序、数据及相关文档构成的完整集合,它与计算机硬件一起组成计算机系统。本题选择A选项。

26.APython使用保留字try和except进行异常处理,基本的语法如下。try:\t<语句块1>except:\t<语句块2>“语句块1”是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的“语句块2”。一个try代码块可以对应多个处理异常的except代码块。本题选择A选项。

27.D属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。不同对象的同一属性可以具有相同或不同的属性值。例如,张三的年龄是20,李四的年龄是18,张三、李四是两个不同的对象,他们共同的属性”年龄”的值不同。

28.D字典的“键”必须为不可变类型;字典的值可以是任意类型。本题选择D选项。

29.D文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。文件包括文本文件和二进制文件两种类型。文本文件和二进制文件的存储方式不同,所以文本文件不可以用二进制文件方式读入。本题选择D选项。

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

31.N

32.N

33.N

34.Y

35.Y

36.Y

37.Y

38.N

39.N

40.Y

41.45

42.[1,2,3]

43.5

44.[3]

45.len()

46.2

47.max()

48.'HELLOWORLD'

49.-1

50.291

51.(1)fo=open(”PY301一1.txt”,”w”)classHorse():Def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis'+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")horse.get_deseriptive()horse.update_speed(50)fo.close()(2)fo=open(”PY301-2.txt”,”w”)classHorse():def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis’+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\\n”)classCamel(Horse):def_init_(self,category,gender,age):super()_init_(category,gender,age)self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)camel=Camel(Doublehump","female","20")camel.get_descriptive()camel.update_speed(40)camel.describe_hump_size()fo.close()(1)文件的操作需要调用open()函数以写模式打开文件。Python定义类使用的关键字是class,且类的名称首字母要大写。_init_()是类的特殊方法,当根据Horse类创建新实例时,Python都会自动运行它。在这个方法中,开头和结尾各有两个下划线,这是一种约定。_init_()方法中定义了四个形参:self、category、gender和age。在这

温馨提示

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

评论

0/150

提交评论