admin 管理员组

文章数量: 1184232


2024年3月8日发(作者:数据库第十一章课后答案)

全国计算机等级考试二级Python真题及解析(2)

全国计算机等级考试二级Python真题及解析(2)

一、选择题

1.关于算法的描述,以下选项中错误的是:

A.算法具有可行性、确定性、有穷性的基本特征

B.算法的复杂度主要包括时间复杂度和空间复杂度

C.算法的基本要素包括数据对象的运算和操作及算法的控制结构

D.算法是指解题方案的准确而完整的描述

正确答案:B

2.关于数据结构的描述,以下选项中正确的是:

A.数据的存储结构是指反映数据元素之间逻辑关系的数据结构

B.数据的逻辑结构有顺序、链接、索引等存储方式

C.数据结构可以直观地用图形表示

D.数据结构指相互独立的数据元素的集合

正确答案:A

3.在深度为7的满二叉树中,结点个数总共是:

A.64

B.127

C.63

D.32

正确答案:B

4.对长度为n的线性表进行顺序查找,在最坏的情况下所

A.n×(n+1)

B.n-1

C.n

D.n+1

正确答案:C

需要的比较次数是:

5.关于结构化程序设计方法原则的描述,以下选项中错误的是:

A.逐步求精

B.模块化

C.自顶向下

D.自底向上

正确答案:D

6.与信息隐蔽的概念直接相关的概念是:

A.模块独立性

B.模块类型划分

C.模块耦合度

D.软件结构定义

正确答案:A

7.关于软件工程的描述,以下选项中描述正确的是:

A.软件工程包括3要素:结构化、模块化、面向对象

B.软件工程工具是完成软件工程项目的技术手段

C.软件工程方法支持软件的开发、管理、文档生成

D.软件工程是应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序

正确答案:D

8.在软件工程详细设计阶段,以下选项中不是详细设计工具的是:

A.程序流程图

D.判断表

正确答案:B

9.以下选项中表示关系表中的每一横行的是:

A.属性

B.列

C.码

D.元组

正确答案:D

10.将E-R图转换为关系模式时,可以表示实体与联系的是:

A.关系

B.键

C.域

D.属性

正确答案:A

11.以下选项中Python用于异常处理结构中用来捕获特定类型的异常的保留字是:

正确答案:A

12.以下选项中符合Python语言变量命名规则的是:

A.*i

B.3_1

!

st

正确答案:D

13.关于赋值语句,以下选项中描述错误的是:

A.在Python中,赋值语句使用等号(=)进行赋值

B.在Python中,可以同时给多个变量赋值

C.在Python中,可以使用“+=”、“-=”等运算符进行赋值运算

D.在Python中,赋值语句可以用于给变量重新赋值

正确答案:A

在Python语言中,有一种同时给多个变量赋值的语句,例如x = "alice"。y = "kate",执行x。y = y。x可以实现变量x和y值的互换。另外,执行a。b = a。a + b和a = b。b = a + b之后,得到同样的输出结果:10 30.因为在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句。

关于eval函数,eval函数的作用是将输入的字符串转为Python语句,并执行该语句。如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input())组合。eval函数的定义为:eval(source。globals=None。locals=None。/)。

Python语言是跨平台、多模型、脚本语言,但不是非开源语言。

Python提供int、float、complex等数字类型,其中整数类型提供了4种进制表示:十进制、二进制、八进制和十六进制。浮点数可以有或没有小数部分。复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C”或者“c”来表示。

在Python循环结构中,遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等。break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行。每个continue语句只有能力跳出当前层次的循环。Python通过for、while等保留字提供遍历循环和无限循环结构。

该段缺少函数定义的冒号和缩进,应该改写为:

import XXX as t

def DrawCctCircle(n):

()

(0,-n)

n()

(n)

for i in range(20,80,20):

DrawCctCircle(i)

()

20%@====。

30%@======。

40%@========。

50%@==========。

60%@============。

70%@==============。

80%@================。

90%@==================。

100%@====================。

代码:

for i in range(11):

print(f"{i*10}%{'@'*i}{'='*(10-i)}")

12

N = eval(input("请输入一个整数: "))。

print("{:>3}%@{}".format(N,"="*(N//5)))

解释:首先使用eval(input())函数获取用户输入的整数N,然后使用format()函数将N和等号个数格式化输出。

2.

s = "学而时之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"

n = 0.#汉字个数

m = 0.#标点符号个数

for i in s:

if 'u4e00' <= i <= 'u9fff':

n += 1

elif i in '。':

m += 1

print("字符数为{},标点符号数为{}。".format(n。m))

解释:使用for循环遍历字符串s中的每个字符,判断是否为汉字或标点符号,分别累加n和m的值,最后使用format()函数格式化输出。

3.

N = int(input("请输入一个整数: "))

s = 0

for i in range(N。N+100):

if i%2 == 1:

s += i

print(s)

解释:首先使用int(input())函数获取用户输入的整数N,然后使用for循环遍历N到N+100之间的所有整数,判断是否为奇数,如果是则累加到s中,最后输出s的值。

4.

import XXX as t

for i in range(6):

(200)

(60)

解释:使用turtle库的fd()函数和left()函数分别控制海龟向前移动200像素和向左旋转60度,循环6次即可绘制出一个六边形。

1.

import XXX as t

(0)

for i in range(6):

(200)

(60)

(200)

(120)

(200)

(120)

(200)

(120)

(200)

(120)

(200)

输出

print(())

print(())

print(g())

改写

import XXX as t

(0)

for i in range(6):

(200)

(60)

for i in range(3):

if i % 2 == 0:

(200)

(120)

else:

(200)

(120)

输出

print(()。()。

2.

def getInput():

g())

while True:

try:

num = int(input("请输入整数: "))

return num

except:

print("输入错误,请重新输入!")

print(getInput())

3.

删除明显有问题的段落

编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,输出保存到“天龙八部-汉字统计.txt”文件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计空格和回车字符):

天:100,龙:110,八:109,部:10

import csv

with open("天龙八部-网络版.txt"。"r"。encoding="utf-8")

as f:

text = ().replace("n"。"") # 去掉回车符

统计字符出现次数

count = {}

for ch in text:

if ch in count:

count[ch] += 1

else:

count[ch] = 1

写入CSV文件

with open("天龙八部-汉字统计.txt"。"w"。encoding="utf-8"。newline="") as f:

XXX(f)

for ch。num in ():

if ch。= " " and ch。= "n": # 不统计空格和回车符

XXX([ch。num])

请注意,以下是已经修改过的文章:

本题为编写程序,对《天龙八部》文本中出现的中文词语进行统计。采用jieba库分词,词语与出现次数之间用冒号:分隔,输出保存到“天龙八部-词语统计.txt”文件中。注意,不统计任何标点符号。

参考代码1:

fi = open("天龙八部-网络版.txt"。"r"。encoding='utf-8')

fo = open("天龙八部-汉字统计.txt"。"w"。encoding='utf-8')

txt = ()

d = {}

for c in txt:

if a():

c = ()

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

del d[' ']

del d['n']

ls = []

for key in d:

("{}:{}".format(key。d[key]))

(",".XXX(ls))

()

()

参考代码2:

import XXX

fi = open("天龙八部-网络版.txt"。"r"。encoding='utf-8')

fo = open("天龙八部-词语统计.txt"。"w"。encoding='utf-8')

txt = ()

words = XXX(txt)

d = {}

for w in words:

if len(w)。1:

d[w] = (w。0) + 1

ls = []

for key in d:

("{}:{}".format(key。d[key]))

(",".XXX(ls))

()

()

以上是已经修改过的文章和参考代码,以下是问题2的答案:

import XXX

fi = open("天龙八部.txt"。"r"。encoding='utf-8')

fo = open("天龙八部-词语统计.txt"。"w"。encoding='utf-8')

txt = ()

words = XXX(txt)

d = {}

for w in words:

if len(w)。1 and a() == False:

d[w] = (w。0) + 1

ls = []

for key in d:

("{}:{}".format(key。d[key]))

(",".XXX(ls))

()

()

print('ok')


本文标签: 循环 语句 赋值 统计 选项