冲冲冲!!!python计算机二级每日一套_4

发布于:2022-11-15 ⋅ 阅读:(3089) ⋅ 点赞:(2)


声明:例题均来源于网络,仅供学习笔记,若涉侵权请联系删除。所属练题来源于《小黑课堂》

一、选择题

1、 可以作为软件测试对象的是()。
A. 需求规格说明
B. 源程序
C. 设计规格说明
D. 数据库设计

【题目解析】
软件测试的对象包括:源程序、目标程序、数据及相关文档。 故本题答案为B。

2、 对软件系统结构图描述正确的是()。
A.原子模块是位于中间结点的模块
B.扇出是调用一个给定模块的模块数
C.结构图是描述软件系统功能的
D. 深度越深宽度越宽说明系统越复杂

【题目解析】
使用结构图描述软件系统的层次和分块结构关系,它反映了整个系统的功能实现以及模块与模块之间的联系与通信,是未来程序中的控制层次体系。 深度:表示控制的层数。 宽度:表示整体控制跨度(最大模块数的层)。 扇入:调用一个给定模块的模块个数。 扇出:一个模块直接调用的其他模块数。 原子模块:树中位于叶子结点的模块。故本题答案为D。

3、 对数据流图(DFD)描述错误的是()。
A. 数据流图是描述数据处理过程的工具
B. 数据流图直接支持系统的数据建模
C. 数据流图是需求理解的逻辑模型的图形表示
D. 数据流图直接支持系统的需求建模

【题目解析】
本题考查的知识点是数据流图。 数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。故本题答案为B。

4、下列不属于软件详细设计工具的是()。
A.系统结构图
B.程序流程图
C.N-S图
D.PAD图

【题目解析】
本题考查的是软件详细设计。 软件设计中,常用的过程设计工具有:①图形工具:程序流程图、N-S图、PAD图、HIPO图;②表格工具:判定表;③语言工具:PDL(伪码)。故本题答案为A。

5、下面描述错误的是()。
A.类中包含数据(属性)和方法(或操作)
B.类是对象的实例
C.类中包含对数据的操作(方法)
D.类具有抽象性

【题目解析】
本题考查的是面向对象方法的基本概念–类。 将属性、操作相似的对象归结为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。故本题答案为B。

6、 与确认测试阶段有关的文档是()。
A.详细设计说明书
B.概要设计说明书
C.需求规格说明书
D.数据库设计说明书

【题目解析】
本题考查的是软件测试的策略–确认测试。 确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确。故本题答案为C。

7、下面描述中正确的是()。
A.集成测试是为了发现详细设计的错误
B.集成测试是为了发现概要设计的错误
C.集成测试是为了发现需求分析的错误
D.集成测试是为了发现编码的错误

【题目解析】
本题考查的是软件测试的策略。 集成测试是测试和组装软件的过程。它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现与接口有关的错误。集成测试的依据是概要设计说明书。故本题答案为B。

8、下面不符合软件设计准则的是()。
A.减少模块接口和界面的复杂性
B.设计单入口、单出口的模块
C.提高模块的独立性
D.模块规模尽可能小

【题目解析】
本题考查的是软件设计准则。 大量的软件设计的实践证明,以下的设计准则可以借鉴为设计的指导和对软件结构图进行优化。这些准则是: ①提高模块独立性; ②模块规模适中; ③深度、宽度、扇入和扇出适当; ④使模块的作用域在该模块的控制域内; ⑤应减少模块的接口和界面的复杂性; ⑥设计成单入口、单出口的模块。 ⑦设计功能可预测的模块。故本题答案为D。

9、数据库系统内部采用三级模式和模式间的二级映射,是为了提高数据库的逻辑独立性和()。
A.数据独立性
B.物理独立性
C.安全性
D.并发性

【题目解析】
本题考查的是数据库的内部结构体系。 数据库系统内部采用三级模式和模式间的二级映射,是为了提高数据库的数据独立性,即物理独立性与逻辑独立性。故本题答案为B。

10、定义学生关系模式如下: Student(S#,Sn,Ssex,class,monitorS#)(其属性分别为学号、学生名、性别、班级和班长学号),则该关系中对主属性(S#)存在传递依赖的非主属性是()。
A. monitorS#
B. class
C. Sn
D. Ssex

【题目解析】
本题考查的是数据库的逻辑设计。 如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。故本题答案为A。

11、在Python语言中,不能作为变量名的是()。
A.p
B.Temp
C.3p
D._fg

【题目解析】
Python采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制。本题选C。

12、以下关于Python缩进的描述中,错误的是()。
A.Python用严格的缩进表示程序的格式框架,所有代码都需要在行前至少加一个空格
B.缩进是可以嵌套的,从而形成多层缩进
C.缩进表达了所属关系和代码块的所属范围
D.判断、循环、函数等都能够通过缩进包含一批代码

【题目解析】
Python语言采用严格的缩进来表示程序逻辑。 缩进指每行语句开始前的空白区域,用来表示Python程序间的包含和层次关系。一般代码不需要缩进,顶行编写且不留空白。当表示分支、循环、函数、类等程序含义时,在if、while、for、def、class等保留字所在完整语句后通过英文冒号(:)结尾并在之后进行缩进,表明后续代码与紧邻无缩进语句的所属关系。本题选A。

13、以下代码的输出结果是()。

x = 'A\0B\0C'
print(len(x))

A.5
B.3
C.7
D.6

【题目解析】
len(x)返回字符串x的长度,一个中文字符和一个西文字符的长度都记为1。"“为转义字符,”\0"表示一个空格,长度记为1,所以字符串长度为5。本题选A。

14、以下关于Python语言技术特点的描述中,错误的是()。
A.Python比大部分编程语言具有更高的软件开发产量和简洁性
B.Python是脚本语言,主要用作系统编程和Web访问的开发语言
C.Python语言是解释执行的,因此执行速度比编译型语言慢
D.对于需要更高执行速度的功能,例如数值计算和动画,Python语言可以调用C语言编写的底层代码

【题目解析】
Python语言是一种被广泛使用的高级通用脚本编程语言,具有通用性,可以用于几乎任何与程序设计相关应用的开发,不仅适合训练编程思维,更适合诸如数据分析、机器学习、人工智能、web开发等具体的技术领域。本题选B。

15、以下代码的输出结果是()。

x = 2 + 9 * ((3*12) - 8) // 10
print(x)

A.26
B.27.2
C.28.2
D.27

【题目解析】
x//y计算x与y之整数商,即不大于x与y之商的最大整数。x = 2 + 9 * ((3*12) - 8) // 10 = 2 + 9 * 28 // 10 = 2 + 25 = 27。本题选D。

16、以下保留字不属于分支或循环逻辑的是()。
A.elif
B.in
C.for
D.while

【题目解析】
属于分支逻辑的保留字有if、else、elif,属于循环逻辑的保留字有break、continue、for、while。本题选B。

17、在Python语言中,使用for…in…方式形成的循环不能遍历的类型是()。
A.字典
B.列表
C.浮点数
D.字符串

【题目解析】
列表、字典和字符串类型的元素是有限的,浮点数的个数是无限的。本题选C。

18、以下关于Python语言中try语句的描述中,错误是()。
A.一个try代码块可以对应多个处理异常的except代码块
B.当执行try代码块触发异常后,会执行except后面的语句
C.try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行
D.try代码块不触发异常时,不会执行except后面的语句

【题目解析】
基本的语法格式如下: try: <语句块1> except: <语句块2> 语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2。本题选C。

19、Python语言中用来表示代码块所属关系的语法是()。
A.缩进
B.括号
C.花括号
D.冒号

【题目解析】
缩进是指每行语句开始前的空白区域,用来表示Python程序间的包含和层次关系。一般代码不需要缩进,顶行编写且不留空白。当表示分支、循环、函数、类等程序含义时,在if、while、for、def、class等保留字所在完整语句后通过英文冒号(:)结尾并在之后进行缩进,表明后续代码与紧邻无缩进语句的所属关系。本题选A。

20、以下描述错误的是()。
A.编程语言中的异常和错误是完全相同的概念
B.当Python脚本程序发生了异常,如果不处理,运行结果不可预测
C.try-except可以在函数、循环体中使用
D.Python通过try、except等保留字提供异常处理功能

【题目解析】
异常和错误是不同的概念,异常仅指程序运行层面的错误,而错误范围更广泛,还包括程序的逻辑错误等。本题选A。

21、以下关于函数优点的描述中,错误的是()。
A.函数便于阅读
B.函数可以使程序更加模块化
C.函数可以减少代码重复
D.函数可以表现程序的复杂度

【题目解析】
使用函数主要有两个目的:降低编程难度和增加代码复用。表现程序的复杂度不属于函数的优点。本题选D。

22、Python中定义函数的关键字是()。
A.def
B.define
C.function
D.defun

【题目解析】
Python语言通过保留字def定义函数。本题选A。

23、以下关于Python函数的描述中,错误的是()。
A.可以定义函数接受可变数量的参数
B.定义函数时,某些参数可以赋予默认值
C.函数必须要有返回值
D.函数可以同时返回多个结果

【题目解析】
函数可以没有return,此时函数并不返回返回值。当函数使用return返回多个值时,可以使用一个变量或多个变量来保存结果。本题选C。

24、以下关于Python函数的描述中,错误的是()。
A.Python程序需要包含一个主函数且只能包含一个主函数
B.如果Python程序包含一个函数main(),这个函数与其它函数地位相同
C.Python程序可以不包含main函数
D.Python程序的main函数可以改变为其他名称

【题目解析】
Python程序可以不包含main函数。本题选A。

25、以下代码的输出结果是()。

for s in "PythonNCRE":
	if s=="N":
		continue
print(s,end="")

A. N
B. PythonCRE
C. Python
D. PythonNCRE

【题目解析】
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。由代码可知,当s=="N"条件成立时,跳出当前当次循环,不输出s的值,则最后的输出结果为PythonCRE。本题选B。

26、当用户输入5时,下面代码的输出结果是()。

try:
	n = input("请输入一个整数:")
	def pow2(n):
		return n**2
pow2(n)
except:
	print("程序执行错误")

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

【题目解析】
input()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。所以变量n是字符串类型,计算n的平方时产生异常,执行except后的语句块,输出"程序执行错误"。本题选A。

27、以下关于Python列表的描述中,错误的是()。
A.列表的长度和内容都可以改变,但元素类型必须相同
B.可以对列表进行成员关系操作、长度计算和分片
C.列表可以同时使用正向递增序号和反向递减序号进行索引
D.可以使用比较操作符(如>或<等)对列表进行比较

【题目解析】
列表没有长度限制,元素类型可以不同,不需要预定义长度。本题选A。

28、以下关于Python字典的描述中,错误的是()。
A.在定义字典对象时,键和值用冒号连接
B.在Python中,用字典来实现映射,通过整数索引来查找其中的元素
C.字典中的键值对之间没有顺序并且不能重复
D.字典中引用与特定键对应的值,用字典名称和中括号中包含键名的格式

【题目解析】
python语言中通过字典类型实现映射。由于字典元素"键值对"中键是值的索引,因此,可以直接利用键值对关系索引元素。字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。本题选B。

29、以下用来处理Python列表的方法中,错误的是()。
A.interleave
B.append
C.insert
D.replace

【题目解析】
append(x):在列表最后增加一个元素x。 insert(i,x):在列表第i位置增加元素x。本题选A。

30、以下代码的输出结果是()。

ls = ['book',23,[2010,'stud1'],20]
print(ls[2][1][-1])

A. s
B. stud1
C. 1
D. 结果错误

【题目解析】
索引是列表的基本操作,用于获得列表中的一个元素。该操作沿用序列类型的索引方式,即正向递增序号和反向递减序号,使用中括号作为索引操作符,索引序号不能超过列表的元素范围,否则会出现IndexError错误。正向递增序号从0开始,反向递减序号从-1开始。 ls[2][1][-1]的执行过程:[2010,‘stud1’]-> stud1->1,即最后的结果是"1"。本题选C。

31、以下代码的输出结果是()。

d = {'food':{'cake':1,'egg':5}}
print(d.get('cake','no this food'))

A. egg
B. 1
C. food
D. no this food

【题目解析】
d.get(key,default)根据键信息查找并返回值信息,如果key存在则返回相应值,否则返回默认值。代码d.get(‘cake’,‘no this food’)中的键"cake"在运行的时候找不到,所以输出结果:no this food;但是如果将代码d.get(‘cake’,‘no this food’)修改为d[‘food’][‘cake’],运行后输出结果:1。本题选D。

32、以下代码的输出结果是()。

a = [[1,2,3], [4,5,6], [7,8,9]]
s = 0
for c in a:
	for j in range(3):
		s += c[j]
print(s)

A.6
B.0
C.24
D.45

【题目解析】
Python通过保留字for实现遍历循环,使用方法如下: for <循环变量> in <遍历结构> <语句块> 遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的执行次数是根据遍历结构中元素个数确定的。 使用range()函数,可以指定语句块的循环次数。 题目中的代码循环过程如下: c=[1,2,3],j=0,c[0]=1,s=1; c=[1,2,3],j=1,c[1]=2,s=3; c=[1,2,3],j=2,c[2]=3,s=6; c=[4,5,6],j=0,c[0]=4,s=10; c=[4,5,6],j=1,c[1]=5,s=15; c=[4,5,6],j=2,c[2]=6,s=21; c=[7,8,9],j=0,c[0]=7,s=28; c=[7,8,9],j=1,c[1]=8,s=36;本题选D。

33、在Python语言中,写文件的操作是()。
A.write
B.writeall
C.seek
D.writetext

【题目解析】
Python语言中写文件的操作方法: f.write(s):向文件写入一个字符串或字节流。 f.writelines(lines):将一个元素为字符串的列表整体写入文件。本题选A。

34、以下对Python文件处理的描述中,错误的是()。
A.Python通过解释器内置的open()函数打开一个文件
B.Python能够以文本和二进制两种方式处理文件
C.当文件以文本方式打开时,读写按照字节流方式
D.文件使用结束后可以用close()方法关闭,释放文件的使用授权

【题目解析】
当文件以文本方式打开时,读写按照字符串方式;当文件以二进制方式打开时,读写按照字节流方式。本题选C。

35、以下属于 turtle 库颜色控制函数的是()。
A.pensize()
B.pencolor()
C.right()
D.seth()

【题目解析】
pencolor():设置画笔的颜色,pensize():设置画笔宽度,seth():改变画笔绘制方向,right(angle):向右旋转angle角度。本题选B。

36、在Python语言中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。
A.format()
B.join()
C.replace()
D.split()

【题目解析】
split()通过指定分隔符对字符串进行切片。 join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 replace()方法把字符串中的old(旧字符串)替换成new(新字符串)。 format()方法用于解决字符串和变量同时输出的格式安排问题。本题选D。

37、以下代码执行后,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

【题目解析】
str(x):将x转换为等值的字符串类型。 fo.write(s):向文件写入一个字符串或字节流。代码执行后的输出结果为[‘book’,‘23’,‘201009’,‘20’]。本题选B。

38、在Python语言中,包含矩阵运算的第三方库是()。
A.wxPython
B.PyQt5
C.wordcloud
D.numpy

【题目解析】
numpy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组,简称"数组"。这个库可用来存储和处理大型矩阵,比Python语言提供的列表结构要高效得多。numpy提供了许多高级的数值编程工具,如矩阵计算、矢量处理、N维数据变换等。本题选D。

39、在Python语言中,能够处理图像的第三方库是()。
A.PIL
B.pyserial
C.requests
D.pyinstaller

【题目解析】
PIL库是Python语言在图像处理方面的重要第三方库,支持图像存储、处理和显示,它能够处理几乎所有的图片格式,可以完成对图形的缩放、剪裁、叠加以及向图像添加线条、图形和文字等。 PIL库可以完成图像归档和图形处理两方面功能需求。本题选A。

40、在Python语言中,不属于Web开发框架第三方库的是()。
A.Django
B.Flask
C.Mayavi
D.Pyramid

【题目解析】
Python语言中Web开发框架第三方库有:Flask、Django、Pyramid,而mayavi是python语言中数据可视化方向的第三方库。本题选C。

二、基本操作

在这里插入图片描述

s = input("请输入一个字符串:")
print("{:=^20}".format(s))

在这里插入图片描述

a, b = 0, 1
while a <= 100: # 不大于100个元素
    print(a, end=',')
    a, b = b, a+b # 斐波那契数列

在这里插入图片描述

import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt) # 利用jeiba.lcut进行分词
for i in ls[::-1]:
    print(i,end="") # 取消换行

三、简单应用

在这里插入图片描述

import turtle as t # 别名
for i in range(3):
    t.seth(i*120) # 每次进行调整角度
    t.fd(200)

在这里插入图片描述

data = input()  # 课程名 考分
d = {} # 创建空字典用来容纳输入数据
while data:
    ls = data.split() # 按空格进行拆分
    d[ls[0]] = ls[1] # 写入字典
    
    data = input()
a = list(d.items()) # 改变类型为列表
a.sort(key = lambda x:x[1],reverse=True) # 按照成绩进行排序
s1,g1 = a[0] # 最高成绩
s2,g2 = a[-1] # 最低成绩
ag = 0 # 总成绩
for i in d.values(): 
    ag += int(i) #总成绩
avg = ag/len(a) # 平均成绩
    
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(s1,g1,s2,g2,avg))

四、综合应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题1:

f = open("PY301-SunSign.csv","r") # 读取文件
x = input("请输入星座中文名称(例如,双子座):") # 获取用户输入

ls = []
for line in f:
    ls.append(line.strip("\n").split(",")) # 去除换行符及,
for row in ls: # 判断x是否在ls中
    if row[1].count(x) > 0:
        
      print("{}的生日位于{}-{}之间".format(x,row[2],row[3]))

问题2:

f = open("PY301-SunSign.csv","r") # 读取文件

ls = []
ls = f.readlines() # 获取所有行
while True:
    x = input("请输入星座序号(例如,5):") # 获取用户输入
    for i in x.split(): # 空格拆分输入的数字
        for line in ls:
            lt = line.strip("\n").split(",") # 取消换行以及,
            if i == lt[0]: # 索引对应序号
                
              print("{}({})的生日是{}月{}日至{}月{}日之间".format(lt[1],lt[4],lt[2][:-2],lt[2][-2:],lt[3][:-2],lt[3][-2:]))

问题3:

f = open("PY301-SunSign.csv","r") # 读取文件
ls = []
ls = f.readlines() # 获取所有行
while True:
      x = input("请输入星座序号(例如,5):") # 获取用户输入
      for i in x.split(): #空格拆分输入的数字
            if 0 <int(i) < 13:
                  flag = True
            else:
                  flag = False
            for line in ls:
                  lt = line.strip("\n").split(",") # 取消换行以及,
                  if i == lt[0]: # 索引对应序号
                        print("{}({})的生日是{}月{}日至{}月{}日之间".format(lt[1],lt[4],lt[2][:-2],lt[2][-2:],lt[3][:-2],lt[3][-2:]))
                        
                        break
            if flag == False:
                  print("输入星座序号有误!")
f.close() 


网站公告

今日签到

点亮在社区的每一天
去签到