二级Python语言程序的设计模拟2.docx
《二级Python语言程序的设计模拟2.docx》由会员分享,可在线阅读,更多相关《二级Python语言程序的设计模拟2.docx(26页珍藏版)》请在冰豆网上搜索。
二级Python语言程序的设计模拟2
二级Python语言程序设计模拟2
一、单项选择题
1、关于算法的描述,以下选项中错误的是
A.算法是指解题方案的准确而完整的描述
B.算法具有可行性、确定性、有穷性的基本特征
C.算法的复杂度主要包括时间复杂度和数据复杂度
D.算法的基本要素包括数据对象的运算和操作及算法的控制结构
2、关于数据结构的描述,以下选项中正确的是
A.数据结构指相互有关联的数据元素的集合
B.数据的存储结构是指反映数据元素之间逻辑关系的数据结构
C.数据的逻辑结构有顺序、、索引等存储方式
D.数据结构不可以直观地用图形表示
3、在深度为7的满二叉树中,结点个数总共是
A.32 B.64 C.127 D.63
4、对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数是
A.n+1 B.n×(n+1) C.n-1 D.n
5、关于结构化程序设计方法原则的描述,以下选项中错误的是
A.自顶向下 B.逐步求精 C.多态继承 D.模块化
6、与信息隐蔽的概念直接相关的概念是
A.软件结构定义 B.模块独立性 C.模块类型划分 D.模块耦合度
7、关于软件工程的描述,以下选项中描述正确的是
A.软件工程是应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序
B.软件工程包括3要素:
结构化、模块化、面向对象
C.软件工程工具是完成软件工程项目的技术手段
D.软件工程方法支持软件的开发、管理、文档生成
8、在软件工程详细设计阶段,以下选项中不是详细设计工具的是
A.判断表 B.程序流程图 C.CSS D.PAL
9、以下选项中表示关系表中的每一横行的是
A.元组 B.属性 C.列 D.码
10、将E-R图转换为关系模式时,可以表示实体与联系的是
A.属性 B.关系 C.键 D.域
11、以下选项中Python用于异常处理结构中用来捕获特定类型异常的保留字是
A.while B.except C.do D.pass
12、以下选项中符合Python语言变量命名规则的是
A.Templist B.*i C.3_1 D.AI!
13、关于赋值语句,以下选项中描述错误的是
A.在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句
B.在Python语言中,有一种赋值语句,可以同时给多个变量赋值
C.设x="alice";y="kate",执行“x,y=y,x”可以实现变量x和y值的互换
D.设a=10;b=20,执行“a,b=a,a+b;print(a,b)”和“a=b;b=a+b;print(a,b)”之后,得到同样的输出结果:
1030
14、关于eval函数,以下选项中描述错误的是
A.eval函数的定义为:
eval(source)
B.eval函数的作用是将输入的字符串转为Python语句,并执行该语句
C.如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input(<输入提示字符串>))组合
D.执行eval("Hello")和执行eval("'Hello'")得到相同的结果
15、关于Python语言的特点,以下选项中描述错误的是
A.Python语言是脚本语言 B.Python语言是非开源语言
C.Python语言是跨平台语言 D.Python语言是多模型语言
16、关于Python数字类型,以下选项中描述错误的是
A.Python语言提供int、float、complex等数字类型
B.Python整数类型提供了4种进制表示:
十进制、二进制、八进制和十六进制
C.Python语言要求所有浮点数必须带有小数部分
D.Python语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C”或者“c”来表示
17、关于Python循环结构,以下选项中描述错误的是
A.Python通过for、while等保留字提供遍历循环和无限循环结构
B.遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
C.break用来跳出最层for或者while循环,脱离该循环后程序从循环代码后继续执行
D.每个continue语句有能力跳出当前层次的循环
18、关于Python的全局变量和局部变量,以下选项中描述错误的是
A.全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
B.局部变量指在函数部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
C.使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
D.简单数据类型变量无论是否与全局变量重名,仅在函数部创建和使用,函数退出后变量被释放
19、关于Python的lambda函数,以下选项中描述错误的是
A.lambda用于定义简单的、能够在一行表示的函数
B.可以使用lambda函数定义列表的排序原则
C.f=lambdax,y:
x+y执行后,f的类型为数字类型
D.lambda函数将函数名作为函数结果返回
20、下面代码实现的功能描述的是
deffact(n):
ifn==0:
return1
else:
returnn*fact(n-1)
num=eval(input("请输入一个整数:
"))
print(fact(abs(int(num))))
A.接受用户输入的整数n,输出n的阶乘值
B.接受用户输入的整数n,判断n是否是素数并输出结论
C.接受用户输入的整数n,判断n是否是整数并输出结论
D.接受用户输入的整数n,判断n是否是水仙花数
21、执行如下代码:
importtime
print(time.time())
以下选项中描述错误的是
A.输出自1970年1月1日00:
00:
00AM以来的秒数
B.time库是Python的标准库
C.可使用time.ctime()代替time.time(),显示为更可读的形式
D.time.sleep(5)推迟调用线程的运行,单位为毫秒
22、执行后可以查看Python的版本的是
A.importsys
print(sys.version)
B.importsys
print(sys.Version)
C.importsystem
print(system.version)
D.importsystem
print(system.Version)
23、关于Python的组合数据类型,以下选项中描述错误的是
A.Python组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易
B.组合数据类型可以分为3类:
序列类型、集合类型和映射类型
C.序列类型是二维元素向量,元素之间存在先后关系,通过序号访问
D.Python的str、tuple和list类型都属于序列类型
24、以下选项中,不是Python对文件的读操作方法的是
A.read B.readline C.readlines D.readtext
25、关于Python文件处理,以下选项中描述错误的是
A.Python能处理Excel文件 B.Python能处理JPG图像文件
C.Python不可以处理PDF文件 D.Python能处理CSV文件
26、以下选项中,不是Python对文件的打开模式的是
A.'r' B.'w' C.'r+' D.'c'
27、关于数据组织的维度,以下选项中描述错误的是
A.数据组织存在维度,字典类型用于表示一维和二维数据
B.一维数据采用线性方式组织,对应于数学中的数组和集合等概念
C.二维数据采用表格方式组织,对应于数学中的矩阵
D.高维数据由键值对类型的数据构成,采用对象方式组织
28、Python数据分析方向的第三方库是
A.numpy B.pdfminer C.beautifulsoup4 D.time
29、Python机器学习方向的第三方库是
A.random B.PIL C.PyQt5 D.TensorFlow
30、PythonWeb开发方向的第三方库是
A.requests B.Django C.scipy D.pandas
31、下面代码的输出结果是
x=0b1010
print(x)
A.10 B.16 C.256 D.1024
32、下面代码的输出结果是
x=10
y=-1+2j
print(x+y)
A.(9+2j) B.9 C.2j D.11
33、下面代码的输出结果是
x=3.1415926
print(round(x,2),round(x))
A.3.143 B.33.14 C.22 D.6.283
34、下面代码的输出结果是
forsin"HelloWortd":
ifs=="W":
break
print(s,end="")
A.Helloorld B.Hello C.World D.HelloWorld
35、以下选项中,输出结果是False的是
A.5is5
B.5isnot4
C.5!
=4
D.False!
=0
36、下面代码的输出结果是
a=1000000
b="-"
print("{0:
{2}^{1},}\n{0:
{2}>{1},}\n{0:
{2}<{1},}".format(a,30,b))
A.----------1.000,000-----------
---------------------1,000,000
1,000,000---------------------
B.1,000,000---------------------
---------------------1.000,000
----------1,000.000-----------
C.---------------------1,000,000
1,000,000---------------------
----------1,000,000-----------
D.---------------------1,000,000
----------1,000,000-----------
1,000,000---------------------
37、下面代码的输出结果是
s=["seashell","gold","pink","brown","purple","tomato"]
print(s[4:
])
A.['purple','tomato']
B.['purple']
C.['seashell','gold','pink','brown']
D.['gold','pink','brown','purple','tomato']
38、执行如下代码:
importturtleast
defDrawCctCircle(n):
t.penup()
t.goto(0,-n)
t.pendown()
t.circle(n)
foriinrange(20,80,20):
DrawCctCircle(i)
t.done()
在PythonTurtleGraphics中,绘制的图形是
A.太极 B.同切圆 C.同心圆 D.笛卡儿心形
39、给出如下代码:
fname=input("请输入要打开的文件:
")
fo=open(fname,"r")
forlineinfo.readlines():
print(line)
fo.close()
关于上述代码的描述,以下选项中错误的是
A.用户输入文件路径,以文本文件方式读入文件容并逐行打印
B.通过fo.readlines()方法将文件的全部容读入一个字典fo
C.通过fo.readlines()方法将文件的全部容读入一个列表fo
D.上述代码可以优化为:
fname=input("请输入要打开的文件:
")
fo=open(fname,"r")
forlineinfo:
print(line)
fo.close()
40、能实现将一维数据写入CSV文件中的是
A.fname=input("请输入要写入的文件:
")
fo=open(fname,"w+")
ls=["AAA","BBB","CCC"]
fo.writelines(ls)
forlineinfo:
print(line)
fo.close()
B.fo=open("price2016bj.csv","w")
ls=['AAA','BBB','CCC','DDD']
fo.write(",".join(ls)+"\n")
fo.close()
C.fr=open("price2016.csv","w")
ls=[]
forlineinfo:
line=line.replace("\n","")
ls.append(line.split(","))
print(ls)
fo.close()
D.fo=open("price2016bj.csv","r")
ls=['AAA','BBB',tCCC','DDD']
fo.write(",".join(ls)+"\n")
fo.close()
二、基本编程题
(共15分)
41、编写Python程序输出一个具有如下风格效果的文本,用作文本进度条样式,部分代码如下,填写空格处。
文本中左侧一段输出N的值,右侧一段根据N的值输出等号,等号个数为N与5的整除商的值,例如,当N等于10时,输出2个等号。
N=10#N取值围是0—100,整数
print(______)
42、以论语中一句话作为字符串变量s,补充程序,分别输出字符串s中汉字和标点符号的个数。
s="学而时习之,不亦说乎?
有朋自远方来,不亦乐乎?
人不知而不愠,不亦君子乎?
"
n=0#汉字个数
m=0#标点符号个数
______#在这里补充代码,可以多行
print("字符数为{},标点符号数为{}。
".format(n,m))
43、使用程序计算整数N到整数N+100之间所有奇数的数值和,不包含N+100,并将结果输出。
整数N由用户给出,代码片段如下,补全代码。
不判断输入异常。
N=input("请输入一个整数:
")
______#可以是多行代码
三、简单应用题
(共25分)
44、使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个六边形,边长为200像素,效果如下图所示。
45、经常会有要求用户输入整数的计算需求,但用户未必一定输入整数。
为了提高用户体验,编写getInput()函数处理这样的情况。
请补充如下代码,如果用户输入整数,则直接输出整数并退出,如果用户输入的不是整数,则要求用户重新输入,直至用户输入整数为止。
detfgetInput():
① #可以是多行代码
return ② #只能是单行代码
print(gelInput())
四、综合应用题
(共20分)
考生文件夹
《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。
该作品气势磅礴,人物众多。
这里给出一个《天龙八部》的网络版本,文件名为“天龙八部-网络版.txt”。
46、问题1:
请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:
分隔,输出保存到“天龙八部-汉字统计.txt”文件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计空格和回车字符):
天:
100,龙:
110,八:
109,部:
10
(略)
47、问题2:
请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用jieba库分词,词语与出现次数之间用冒号:
分隔,输出保存到“天龙八部-词语统计.txt”文件中。
参考格式如下(注意,不统计任何标点符号):
天龙:
100,八部:
10
(略)
答案:
一、单项选择题
1、C
[解析]算法的复杂度主要包括时间复杂度和空间复杂度。
算法的时间复杂度是指执行算法所需要的计算工作量。
一般来说,算法的工作量用其执行的基本运算次数来度量,而算法执行的基本运算次数是问题规模的函数。
在同一个问题规模下,用平均性态和最坏情况复杂性来分析。
一般情况下,用最坏情况复杂性来分析算法的时间复杂度。
算法的空间复杂度是指执行这个算法所需要的存空间。
2、A
[解析]数据结构指相互有关联的数据元素的集合,是反映数据元素之间关系的数据元素集合的表示,包括逻辑结构和存储结构。
数据结构研究的3个方面:
①数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;②在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;③对各种数据结构进行的运算。
3、C
[解析]所谓满二叉树是指这样的二叉树:
除最后一层外,每一层上的所有结点都有两个子结点。
深度为n的满二叉树有2n-1个结点。
4、D
[解析]顺序查找又称为顺序搜索,一般指在线性表中查找指定的元素,从线性表的第一个元素开始,依次将线性表中的元素与被查元素进行比较,若相等则表示找到(即查找成功);若线性表中所有的元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
5、C
[解析]继承是面向对象方法的一个重要特征,是使用已有的类定义作为基础建立新类的定义技术。
继承是指能够直接获得已有的性质和特征,而不必重复定义它们。
6、B
[解析]信息隐蔽与模块独立性直接相关。
信息隐蔽是指在一个模块包含的信息,对于不需要这些信息的其他模块来说是不能访问的。
7、A
[解析]软件工程是应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序。
软件工程包括3个要素,即方法、工具和过程。
软件工程工具支撑软件的开发、管理和文档生成。
软件工程过程支持软件开发各个环节的控制、管理。
8、C
[解析]在软件工程详细设计阶段中,常见的过程设计工具有程序流程图、N-S、PAD、HIPO、判定表、PDL(伪码)。
CSS(层叠样式表)是一种用来表现HTML或者XML等文件样式的计算机语言。
9、A
[解析]元组表示关系表中的一行。
在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。
关系表中的每一行称为一个元组。
10、B
[解析]关系数据库逻辑设计的主要工作是将E-R图转换成指定DBMS中的关系模式。
从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
实体集也可以转换成关系。
11、B
[解析]except保留字用于异常处理结构中,用来捕获特定类型的异常。
try-except语句可以支持多个except语句。
12、A
[解析]Python变量名字的首字符不能为数字,变量名中不允许出现特殊符号*及!
。
13、D
[解析]得到不同的输出结果。
执行结果如下:
>>>a=10
>>>b=20
>>>a.b=a.a+b
>>>print(a,b)
1030
>>>a=10
>>>b=20
>>>a=b
>>>b=a+b
>>>print(a,b)
2040
14、D
[解析]执行eval("Hello")获得NameError:
name'Hello'isnotdefined。
执行eval("'Hello'")获得'Hello'字符串。
执行过程参考如下:
>>>eval("Hello")
Trackback(mostrecentcalllast):
File"<pyshell#0>",line1,in<module>
Eval("Hello")
File"<string>",line1,in<module>
NameError:
name'Helto'isnotdefined
>>>eval("'Hello'")
'Hello'
15、B
[解析]Python语言是开源语言,一定要记住哦!
16、D
[解析]Python语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“J”或者“j”来表示。
17、D
[解析]continue语句用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
18、B
[解析]局部变量指在函数部使用的变量,当函数退出时,变量将不存在。
19、C
[解析]f=lambdax,Y:
x+y执行后,f的类型为function类型,可使用type(f)获取。
20、A
[解析]代码定义了递归函数求N!
,完整功能是接受用户输入的整数N,输出N的阶乘值。
21、D
[解析]time.sleep(5)推迟调用线程的运行,单位为秒。
22、A
[解析]sys模块是Python的标准库中自带的一个模块,包含了很多函数方法和变量用来