理论卷2024年9月GESP等级认证(Python) · 六级

GESP Python 6级 2024.09

满分 100 · 及格 60 · 时长 60 分钟 · 共 27 题 (单选15 / 判断10 / 编程题2)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
单选题号 #9604
分值 2

以下( )没有涉及Python语言的面向对象特性支持。

A

Python中构造一个 class

B

Python中调用 printf 函数

C

Python中调用用户定义的类成员函数

D

Python中构造来源于同一基类的多个派生类

2
单选题号 #9605
分值 2

关于Python中面向对象的类的继承,下面说法错误的是( )

A

子类可以通过继承不能访问到父类的所有属性

B

多个子类可以继承同一个父类

C

子类和子类产生的对象都可以通过句点的方式拿到父类

D

python中支持多继承

3
单选题号 #9606
分值 2

有6个元素,按照 6,5,4,3,2,1 的顺序进入栈S,下列( )的出栈序列是不能出现的( )。

A

5,4,3,6,1,2

B

4,5,3,1,2,6

C

3,4,6,5,2,1

D

2,3,4,1,5,6

4
单选题号 #9607
分值 2

采用如下代码实现检查输入的字符串括号是否匹配,横线上应填入的代码为( )。

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return not self.items
 def push(self, item):
 self.items.append(item)
 def pop(self):
 if not self.is_empty():
 return self.items.pop()
 def peek(self):
 if not self.is_empty():
 return self.items[-1]
 def size(self):
 return len(self.items)
def paren_match(expr):
 s = Stack()
 balanced = True
 index = 0
 while index < len(expr) and balanced:
 symbol = expr[index]
 if symbol in '([{':
 ________________
 else:
 if s.is_empty():
 balanced = False
 else:
 top = s.pop()
 if not matches(top, symbol):
 balanced = False
 index += 1

 if balanced and s.is_empty():
 return True
 else:
 return False
def matches(opening, closing):
 opens = '([{'
 closers = ')]}'
 return opening in opens and closers.index(closing) == opens.index(opening)
A

s.push(symbol)

B

s.pop(symbol)

C

s.push(index)

D

s.pop(index)

5
单选题号 #9608
分值 2

下面代码判断队列的第一个元素是否等于 ,并删除该元素,横向上应填写( )。

import queue
q = queue.Queue()
a = 'a'
if ________________________________________
 q.get()
 print('元素 {} 是队列的第一个元素,并已被移除。'.format(a))
else:
 print('队列的第一个元素不是 {}.'.format(a))
A

not q.empty() and q.queue[0] != a:

B

not q.empty() and q.queue[0] == a:

C

q.empty() and q.queue[0] == a:

D

q.empty() and q.queue[0] != a:

6
单选题号 #9609
分值 2

假设字母表 {a,b,c,d,e} 在字符串出现的频率分别为 10%,15%,30%,16%,29%。若使用哈夫曼编码方式对字母进行二进制编码,则字符 abcdef 分别对应的一组哈夫曼编码的长度分别为( )。

A

4, 4, 1, 3, 2

B

3, 3, 2, 2, 2

C

3, 3, 1, 2, 1

D

4, 4, 1, 2, 2

7
单选题号 #9610
分值 2

以下Python代码实现 位的格雷码,则横线上应填写( )。

def generate_gray_code(n):
 if n <= 0:
 return []
 if n == 1:
 return [0, 1]

 gray_code = generate_gray_code(n - 1)
 ————————————————————————————————————————
 for x in gray_code]
 return gray_code + inverted_gray_code
A

inverted_gray_code = [int(('0' * n + bin(x)[2:])[-n:], 2)

B

inverted_gray_code = [int(('1' * n + bin(x)[2:])[-n:], 2)

C

inverted_gray_code = [int(('1' * n + bin(x)[1:])[-n:], 2)

D

inverted_gray_code = [int(('1' * n + bin(x)[2:])[n:], 2)

8
单选题号 #9611
分值 2

给定一棵二叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG,则这棵树的正确后序遍历结果是( )。

A

EDBGFCA

B

EDGBFCA

C

DEBGFCA

D

DBEGFCA

9
单选题号 #9612
分值 2

一棵有 个结点的完全二叉树用数组进行存储与表示,已知根结点存储在数组的第 个位置。若存储在数组第个位置的结点存在兄弟结点和两个子结点,则它的兄弟结点和右子结点的位置分别是( )。

A

8, 18

B

10, 18

C

8, 19

D

10, 19

10
单选题号 #9613
分值 2

二叉树的深度定义为从根结点到叶结点的最长路径上的结点数,则以下基于二叉树的深度优先搜索实现的深度计算函数中横线上应填写( )。

class Node:
 def __init__(self, data):
 self.data = data
 self.left = None
 self.right = None
def max_depth(root_node):
 if root_node is None:
 return 0
 else:
 left_depth = max_depth(root_node.left)
 right_depth = max_depth(root_node.right)
 _______________________________________
A

return max(left_depth, right_depth)

B

return min(left_depth, right_depth) + 1

C

return max(left_depth, right_depth) + 1

D

return max(left_depth, right_depth) - 1

🔒

已解锁前 10 题

第 11~27 题(共 17 题)可在考试中作答
本卷为普通试卷:注册用户每题扣 1 积分(每日登录送 30 体验积分),交卷后查看答案与解析
海小星AI平台海小星AI平台

点亮AI梦想,编程未来之星。专业的青少年AI编程教育平台。

课程方向

  • AIGC人工智能
  • Scratch图形化
  • Python编程
  • C++/NOIP竞赛

联系我们

  • 北京市西城区万博苑7号楼3层F28室
  • +86-010-83553010
  • contact@seanova.cn

© 2026 海小星AI平台|京ICP备2022032747号

隐私政策服务条款