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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国计算机等级考试二级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.程序流程图
B.CSS
C.PAL
D.判断表
正确答案:B
9.以下选项中表示关系表中的每一横行的是:
A.属性
B.列
C.码
D.元组
正确答案:D
10.将E-R图转换为关系模式时,可以表示实体与联系的是:
A.关系
B.键
C.域
D.属性
正确答案:A
11.以下选项中Python用于异常处理结构中用来捕获特定类型的异常的保留字是:
A.except
B.do
C.pass
D.while
正确答案:A
12.以下选项中符合Python语言变量命名规则的是:
A.*i
B.3_1
C.AI!
D.Templist
正确答案: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):
t.penup()
t.goto(0,-n)
t.pendown()
t.circle(n)
for i in range(20,80,20):
DrawCctCircle(i)
t.done()
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):
t.fd(200)
t.left(60)
解释:使用turtle库的fd()函数和left()函数分别控制海龟向前移动200像素和向左旋转60度,循环6次即可绘制出一个六边形。

1.
import XXX as t
t.speed(0)
for i in range(6): t.fd(200)
t.left(60)
t.fd(200)
t.right(120)
t.fd(200)
t.left(120)
t.fd(200)
t.right(120)
t.fd(200)
t.left(120)
t.fd(200)
输出
print(t.xcor()) print(t.ycor()) print(t.heading())
改写
import XXX as t
t.speed(0)
for i in range(6):
t.fd(200)
t.left(60)
for i in range(3):
if i % 2 == 0:
t.fd(200)
t.right(120)
else:
t.fd(200)
t.left(120)
输出
print(t.xcor()。

t.ycor()。

t.heading()) 2.
def getInput():
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 = f.read().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 count.items():
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 = fi.read()
d = {}
for c in txt:
if c.isalpha():
c = c.lower()
d[c] = d.get(c。

0) + 1
del d[' ']
del d['\n']
ls = []
for key in d:
ls.append("{}:{}".format(key。

d[key]))
fo.write(",".XXX(ls))
fi.close()
fo.close()
参考代码2:
import XXX
fi = open("天龙八部-网络版.txt"。

"r"。

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

"w"。

encoding='utf-8') txt = fi.read()
words = XXX(txt)
d = {}
for w in words:
if len(w)。

1:
d[w] = d.get(w。

0) + 1
ls = []
for key in d:
ls.append("{}:{}".format(key。

d[key]))
fo.write(",".XXX(ls))
fi.close()
fo.close()
以上是已经修改过的文章和参考代码,以下是问题2的答案:
import XXX
fi = open("天龙八部.txt"。

"r"。

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

"w"。

encoding='utf-8')
txt = fi.read()
words = XXX(txt)
d = {}
for w in words:
if len(w)。

1 and w.isalpha() == False:
d[w] = d.get(w。

0) + 1
ls = []
for key in d:
ls.append("{}:{}".format(key。

d[key])) fo.write(",".XXX(ls))
fi.close()
fo.close()
print('ok')。

相关文档
最新文档