admin 管理员组

文章数量: 1086019


2024年12月31日发(作者:deque用法)

二级牡两

0“

语言程序设计模拟

4

一、单项选择题

1、 以下选项中,不属于需求分析阶段的任务是

A制定软件集成测试计划 B需求规格说明书评审

C确定软件系统的性能需求 D.确定软件系统的功能需求

2、 关于数据流图

DFD.的描述,以下选项中正确的是

A软件概要设计的工具 B软件详细设计的工具

C结构化方法的需求分析工具 D.面向对象需求分析工具

3、 在黑盒测试方法中,设计测试用例的主要根据是

A程序外部功能 B程序流程图 C程序数据结构 D.程序内部逻辑

4、 一个教师讲授多门课程,一门课程由多个教师讲授。描述了实体教师和课程的联系的选项是

A 1:1联系 B m:n联系 C m:1联系 D. 1:m联系

5、 数据库设计中,反映用户对数据要求的模式是

A概念模式 B内模式 C设计模式 D.外模式

6、 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示的阶段是

A需求分析阶段 B概念设计阶段 C逻辑设计阶段 D.物理设计阶段

7、 以下选项中描述正确的是

A有一个以上根结点的数据结构不一定是非线性结构

B只有一个根结点的数据结构不一定是线性结构

C循环链表是非线性结构

D.双向链表是非线性结构

8、 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数是

A 4 B 6 C 16 D. 10

9、 下图所示的二叉树进行前序遍历的序列是

A DYBEAFCZX B YDEBFZXCA C ABDYECFXZ D. ABCDEFXYZ

10、 以下选项中描述正确的是

A数据的逻辑结构与存储结构是一一对应的

B算法的时间复杂度与空间复杂度一定相关

C算法的时间复杂度是指执行算法所需要的计算工作量

D.算法的效率只与问题的规模有关,而与数据的存储结构无关

11、 Python文件的后缀名是

A py B pdf C png D. ppt

12、 以下选项中,不是Python语言保留字的是

A while B except C do D. pass

13、 下面代码的输出结果是

print(0.1+0.2==0.3)

A True B False C -1

14、 下面代码的执行结果是

a=10.99

print(complex(a))

A (10.99 + 0j) B 10.99 + j

D. 0

C 10.99 D. 0.99

15、 关于Python字符编码,以下选项中描述错误的是

A Python字符编码使用ASCII编码

B chr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换

C printchr(65)输出A

D. print(ord('a'))输出 97

16、 关于Python循环结构,以下选项中描述错误的是

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

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

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

D. continue只结束本次循环

17、 给出如下代码:

import random

num=t(1,10)

while True:

if num> = 9:

break

else:

num=t(1,10)

以下选项中描述错误的是

A t(1,10)生成[1,10]之间的整数

B这段代码的功能是程序自动猜数字

C import random代码是可以省略的

D. while True:创建了一个永远执行的循环

18、 关于time库的描述,以下选项中错误的是

A time库是Python中处理时间的标准库

B time库提供获取系统时间并格式化输出功能

C (s)的作用是休眠s秒

D. _counter()返回一个固定的时间计数值

19、 关于jieba库的描述,以下选项中错误的是

A jieba是Python中一个重要的标准函数库

B (s )是精确模式,返回一个可迭代的数据类型

C (s)是精确模式,返回列表类型

D. _word(s)是向分词词典里增加新词s

20、 对于列表ls的操作,以下选项中描述错误的是

A (x):在ls最后增加一个元素

B ():删除ls的最后一个元素

C ():生成一个新列表,复制ls的所有元素

D. e():列表ls的所有元素反转

21、 下面代码的输出结果是

listV=list(range(5))

print(2 in listV)

A True B False C 0 D. -1

22、 给出如下代码:

import random as ran

listV=[]

(100)

for i in range(10):

i=t(100,999)

(i)

以下选项中能输出随机列表元素最大值的是

A. print(e(i))

B. print(())

C. print((i))

D. print(max(listV))

23、 给出如下代码:

MonthandFlower={"1月 ":"梅花","2月"

"杏花","3月"

"桃花","4月”

"牡丹花

", "5月 ":"石榴花","6月"

"莲花","7月”

"玉簪花","8月"

"桂花","9月"

"菊花

", "10月 ":"芙蓉花","11月”

"山茶花","12月”

"水仙花”} n=input广请输入1—

12的月份

)

print(n+"月 份之代表花:"+(str(n)+" 月 ”)) 以下选项中描述正

确的是

A MomhandFlower是集合类型变量

B代码实现了获取一个整数

(

1-12)来表示月份,输出该月份对应的代表花名

C MonthandFlower是列表类型变量

D. MOnthandFlower是一个兀组

24、 关于Python文件打开模式的描述,以下选项中错误的是

A只读模式r B覆盖写模式w C追加写模式a D.创建写模式n

2 5、执行如下代码:

fname=input("请输入要写入的文件:")

fo=open(fname,"w+")

ls=["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有

"

”牧童遥指杏花村。

ines(ls)

(O)

for line in fo:

print(line)

()

以下选项中描述错误的是

A执行代码时,从键盘输入'、声明.txt”,则清明.txt被创建

B ines(ls)将元素全为字符串的ls列表写入文件

C (O)这行代码如果省略,也能打印输出文件内容

D.代码主要功能为向文件写入一个列表类型,并打印输出结果

2 6、关于CSV文件的描述,以下选项中错误的是

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

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

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

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

27、 以下选项中,修改turtle画笔颜色的函数是

A pencolor() B seth() C colormode() D. bk()

28、 以下选项中,Python网络爬虫方向的第三方库是

A scrapy B numpy C openpyxl D. PyQt5

29、 以下选项中,Python数据分析方向的第三方库是

A flask B PIL C Django D. pandas

30、 以下选项中,Python机器学习方向的第三方库是

A requests B TensorFlow C scipy D. PyQt5 31、给出如下代码:

TempStr="Hello World

"]

以下选项中可以输出“World

子串的是

A print(TempStr[-5:])

B print(TempStr[-5:-1])

C print(TempStr[-5:0])

D. print(TempStr[-4:-

1])

下面代码的输出结果是

32、

x=12.34

print(type(x))

AVclass 'complex'>

BVclass 'int'>

CVclass 'float' >

D.

Vclass 'bool' >

33、 下面代码的输出结果是

x=10

y=

3

print(x%y,x**y)

A 1 1000 B 3 1000 C 1 30 D. 3 30

34、 执行如下代码:

import turtle as t

for i in range(1,5):

(50)

(90)

在Python Turtle Graphics 中,绘制的是

A正方形 B五边形 C三角形 D.五角星

35、 设一年356天,第1天的能力值为基数记为1.0。当好好学习时能力值相比前一天会提高千

分之 五。以下选项中,不能获得持续努力1年后的能力值的是

A pow(1.0+0.005,365) B 1.005**365

C pow((1.0 + 0.005), 365) D. 1.005//365

36、 给出如下代码:

s=list("巴老爷有八十八棵芭蕉树

来了八十八个把式要在巴老爷八十八棵芭蕉树下'住。老

爷拔了八十八棵芭蕉树

不让八十八个把式在八十八棵芭蕉树下住。八十八'个把式烧了八十八棵芭

蕉树

巴老爷在八十八棵树边哭。")

以下选项中能输出字符“八

出现次数的是

A print(("八”)) B print(("八”))

C print(("八”),6) D. print((" Jk"),6,len(s))

37、 下面代码的输出结果是

vlist=list(range(5))

print(vlist)

A [0,1,2,3,4] B 0 1 2 3 4

C 0,1,2,3,4, D. 0;1;2;3;4;

38、 以下选项中,不是建立字典的方式是

A d={1:[1,2],3:[3,4]} B d={[1,2]:1,[3,4]:3}

C d={(1,2):1,(3,4):3} D. d={'张三':1,'李四':2}

39、 如果name="全国计算机等级考试二级Python”,以下选项中输出错误的是

A >>>print(name[0],name[8],name[-1])

全试

B >>>print(name[:])

全国计算机等级考试二级Python

C>>>print(name[11:])

Python

D.>>>print(name[:11]) 全国计算机等级考试二级

40、下列程序的运行结果是

>>>s='PYTHON'

>>> "{0:3}".format(s)

A 'PYT' B 'PYTH' C 'PYTHON'

二、基本编程题

(共15分)

41、 根据输入正整数n,作为财务数据,输出一个宽度为20字符,n右对齐显示,带干位分隔符的效

果,使用减号字符 '

-

填充。如果输入正整数超过20位,则按照真实长度输出。例如,输入正整

数g 为1234,输出如下: ------------ 1,234。

n=input("请输入整数:")

#可以多行

42、 Pylnstaller库可以对程序打包,给定一个Python源程序文件,图标文件为,

将 其打包为在Windows平台上带有上述图标的单一可执行文件,使用什么样的命令

43、 以123为随机数种子,随机生成10个在1到999(含

)

之间的随机数,以逗号分隔,打印输出,

请 补充横线处代码。

import random

for i in range(②):

print(③,end=",”)

D. ' PYTHON'

三、简单应用题

(共25分

)

44、使用turtle库的()函数和()函数绘制一个菱形四边形,

边长为2 00

(这里代码需要补全啦……)

45、补充完善如下代码,使得程序能够计算a中各元素与b逐项乘积的累加和。

a=[[1,2,3],[4,5,6],[7,8,9]]

b=[3,6,9]

for c in a:

for j in ②:

s+=c[j]*b[j]

print(s)

四、综合应用题

(共20分

考生文件夹

《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的

网络版本,文件名为'、命运-网络版.txt”和'、寻梦-网络版-txt”。

46、 问题1:请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:

分隔, 将两个文件前100个最常用字符分别输出保存到、、命运-字符统计.txt”和、、寻梦-字符

统计.txt”文 件中,该文件要求采用CSV格式存储,参考格式如下

注意,不统计回车字符

90,运

80,寻

70,梦

60

(略

47、 问题2:请编写程序,对'、命运-字符统计.txt”和'、寻梦-字符统计.txt ”中出现的相同

字符打 印输出。''相同字符.txt”文件中,字符问使用逗号分隔。

答案

一、单项选择题

1、 A

[解析]需求分析阶段需要对待开发软件提出的需求进行分析并给出详细定义,完成需求规格说明

书。 软件集成测试计划的制订是软件测试阶段需要完成的任务。

2、 C

[解析]数据流图

DFD)是结构化分析的常用工具,是描述数据处理过程的工具,是需求理解的逻辑

模型的图形表示,直接支持系统的功能建模。

3、 A

[解析]黑盒测试也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求

进行测试和验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规

格说明,检查程序的功能是否符合它的功能说明。

4、 B

[解析]现实世界中事物问的关联称为联系。在概念世界中,联系主要反映了实体集间的一定关系。

实体集间的联系可以是单个,也可以是多个。一位教师可以教授多个学生,而一个学生又可以受教于

多个教师,教师与学生的联系是m

n

5、 D

[解析]外模式,也称为子模式或用户模式,是用户的数据视图,也是用户所想见到的数据模式,由

概念模式推导出来,反映了用户对数据要求的模式。以外模式为框架所组成的数据库叫用户数据库。

6、 B

[解析]数据库设计包含概念设计和逻辑设计两个方面的内容。在概念设计阶段,用E-R图来描述信

息结构但不涉及信息在计算机中的表示。

7、 B

[解析]根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为线性结构和非

o

线性结构。线性结构满足两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有

一个后件。如果一个数据结构不是线性结构,则称之为非线性结构。有一个以上根结点的数据结构是

非线性结构。只有一个根结点的数据结构不一定是线性结构。循环链表和双向链表都是线性结构。

8、 C

[解析]二叉树的基本性质:在任意一棵二叉树中,度为0的结点

(

叶子结点

)

总是比度为2的结点多

一 个。本题中度为2的结点即为4个。二叉树只包含度为0的结点、度为1的结点和度为2的结

点。度为1 的结点个数等于总结点数减去度为0和2的结点数。25-5-4 = 16。

9、 C

[解析]二叉树的前序遍历是指在访问根结点、遍历左子树、遍历右子树这三者中,首先访问根结

点, 然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左

子树, 最后遍历右子树。前序遍历二又树是一个递归的过程。

10、 B

[解析]数据的逻辑结构反映数据之间的逻辑关系,数据元素在计算机存储空间中的位置关系可能与

逻辑关系不同。算法的时间复杂度指执行算法所需要的计算工作量。算法的空间复杂度指执行这个算

法所需要的内存空间。算法在时间的高效性和空间的高效性之间通常是矛盾的,一般会取一个平衡

点。

11、 A

[解析]Python文件的后缀名为py。

12、 C

[解析]Python语言共33个保留字。do不是Python的保留字。

13、 B

[解析]浮点数问运算存在不确定尾数,不是bug。0.1无法精确转化为十进制小数。

>>0.1 + 0.2

0.30004

>>>0.1 + 0.2==0.3

False

14、 A

[解析]complex(real[,imag])函数可生成一个复数。

15、 A

[解析]Python字符串中每一个字符都使用Unicode编码。

16、 C

[解析]continue用来结束当前当次语句,但不跳出当前的循环体。

17、 C

[解析]import random代码不可以省略的。random是Python内置的随机运算标准函数库。

18、 D

[解析]_counter()返回一个CPU级别的精确时间计数值,单位为秒。由于这个计数值

起点不确定,连续调用差值才有意义。

19、 A

[解析]jiaba不是Python的标准函数库,是第三方中文分词函数库。

20、 B

[解析]()函数删除列表ls中的所有元素。

21、 A

[解析]list()和range()是Python的内置函数,list()可用于生成列表,range(5)可用于产

生数字序列0、1、2、3、4。

22、 D

[解析]max()是Python的内置函数,用于输出列表元素的最大值。

23、 B

[解析]Month&Flower是字典类型变量。字典是集合类型的延续,各个元素并没有顺序之分。字典

是存储可变数量键值对的数据结构,键和值可以是任意数据类型。字典的主要用法是通过索引符号来

实现查找与特定键相对应的值。如果想保持一个集合中元素的顺序,需要使用列表,而不是元组。

24、 D

[解析]Python文件打开模式的创建写模式为'x'。

25、 C

[解析](0)这行代码如果省略,将不能打印输出文件内容。

26、 C

[解析]CSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没

有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗

号。

27、 A

[解析]pencolor(color)函数给画笔设置颜色。

28、 A

[解析]numpy是数据分析方向的第三方库,openpyxl是文本处理方向的第三方库,PyQt5是用户

图形界面方向的第三方库。

29、 D

[解析]flask和Django是Web开发的第三方库,PIL是图像处理方面的第三方库。

30、 B

[解析]TensorFlow是Python机器学习方向的第三方库。

31、 A

[解析]参考字符串切片操作。

32、 C

[解析]type(x)函数可以获得x的类型。

33、 A

[解析]参考Python内置的数值运算操作符。

34、 A

[解析]参考turtle库函数。

35、 D

[解析]参考pow()函数和”数值运算操作符。

36、 A

[解析](x)函数可以获得s中出现x的总次数。37、A

38、 B

[解析]{[1,2]:1,[3,4]:3}不能建立字典,字典要求键值对中的键是不可改变变量类型。

39、 A

[解析]参考字符串索引与切片操作。

40、 C

[解析]参考字符串格式化输出方法。

二、基本编程题

41、 n=input("请输入整数

)

print("{:->20,}".format(eval(n)))

[解析]

这是一个基本编程题,考查Python字符串格式化.format()方法。重点在于理解槽在大括号

{}内格式控制符的使用。对于数字,输出千位分隔符形式需要采用{:, },宽度2 0,表示为

{:20}; 使用

、、

-

填充,表示为{:-},右对齐表示为{:>}。综合后的完整代码如下(注意各

控制符的顺序

):

n=input("请输入整数:")

print("{:

>20,}".format(eval(n)))

42、 pyinstaller-i -F

[解析]

这是一个基本编程题,考核Pylnstaller。库的使用。Pylnstaller用于将Python源代码

转 换成可执行文件,它属于命令行工具,不在IDLE环境下运行。

使用-i参数增加对打包文件图标的引入,使用-F参数用来生成单一的打包后可执行程序。综

上, 该问题参考代码如下:

pyinstaller-i -F

43、 import random

(123)

for i in range(10):

print(t(1,999),end=",")

[解析]

这是一个基本编程题,考核random库的使用。设置随机数种子使用()函数,生

成随机整数使用t()函数。参考代码如下:

import random

(123)

for i in range(10):

print(t(1,999),end=",")

三、简单应用题

44、 import turtle ast

(-30)

for i in range(2):

(200)

(60*(i+1))

for i in range(2):

(200)

(60*(i+1))

[解析]

这是一个简单应用题,考核'、海龟绘图体系

,绘制菱形四边形。

给定部分代码采用了 as...形式,这是引入turtle库并赋予别名的方式。

该题目有两个方案:第一,逐条线绘制;第二,利用循环绘制。由于菱形有一定规则,为了降

低编码难度,也可以部分使用循环。参考代码及注释如下:

import turtle ast

(-30)#改变出发角度

for i in range(2):

(200)

(60*(i+1))

for i in range(2): #在此循环中

i取值为0和1

(200)

(60*(i+1))

45、 a=[[1,2,3],[4,5,6],[7,8,9]]

b=[3,6,9]

s=0

for c in a:

for j in range(3):

s+=c[j]*b[j]

print(s)

[解析]

这是一个简单应用题,用来进行二维列表操作。由于题目要求进行求和,求和运算首先需要一

个记录求和的变量,该变量初始值应该为0,逐步累加。

因此,该题目最先需要补充的代码是给求和变量s赋值为0。之后,通过两层循环遍历列表所有

元素,进行乘积求和操作。参考代码及注释如下:

a=[[1,2,3],[4,5,6],[7,8,9]]

b=[3,6,9]

s=0 所有求和运算都要给予求和变量为0的初值

for c in a:

for j in range(3):

s+=c[j]*b[j] 累加乘积求和

print(s)

四、综合应用题

4 6、答案如下:

names=「命运”/ 寻梦”]

for name in names:

fi=open(name+"-网 络版.txt","r",encoding="utf-8")

fo=open(name+"-字符统计.txt","w",encoding="utf-8")

txt=()

d={}

for c in txt:

d[c]=(c,0)+1

del d['n']

ls=list(())

(key=lambda x:x[1],reverse=True)

for i in range(100):

ls[i]="{}:{}".format(ls[i][0],ls[i][1])

(",”.join(ls[:100]))

()

()

[解析]

这是一个综合应用题,考核文本处理能力。

问题1:程序的流程是分别从'、命运-网络版.txt”和'、寻梦-网络版.txt”两个文档中读入字

符, 统计各自所出现的次数、排序,并输出到文档。鉴于相似功能已经在其他模拟试卷中做过解析,

这里 不再赘述。参考代码及注释如下:

names=["命运”/ 寻梦”]

for name in names: 遍历names列表

对两个文本进行处理

fi=open(name+"-网 络版.txt”,"r”,encoding="utf-8”)

fo=open(name+"-字符统计.txt”,"w”,encoding="utf-8”)

txt=()

d={}

for c in txt: 统计字符出现的次数

d[c]=(c,0)+1

del d['n']

ls=list(())

(key=lambda x:x[1],reverse=True) 排序

for i in range(100): 整理写入文档

ls[i]="{}:{}".format(ls[i][0],ls[i][1])

(",”.join(ls[:100]))

()

()

问题2:判断两个文档中的相同字符,基本方法是逐一从文档中读入字符,判断该字符是否在另

外一个文档中,如果存在,则统计输出。参考代码及注释如下:

def getList(name):

f=open(name+"-字符统计.txt”,"r”,encoding="utf-8”)

words=().split(',')

for i in range(len(words)):

words[i]=words[i].split(':')[0]

()

return words

def main():

fo=open (财相同字符.fxt","w")

ls1=getList(,命运”

)

ls2=getList("寻梦”

)

ls3=[]

for c in ls1: 获得一篇文章的字符

if c in ls2: 判断该字符是否在另外文章中

(c) 如果存在

则放入公共字符列表

(",".join(ls3)) ()

main()47、答案如下:

def getList(name):

f=open(name+"-字符统计.txt","r",encoding="utf-8")

words=().split(',')

for i in range(len(words)):

words[i]=words[i].split(':')[0]

() return words def main():

fo=open(财相同字符-txt”,"w”)

ls1=getList(,命运”

)

ls2=getList("寻梦”

)

ls3=[] for c in ls1: if c in ls2:

(c)

(",”.join(ls3)) ()

main()


本文标签: 字符 代码 输出 文件 数据