一、单选题(每题 2 分,共 30 分)
第 1 题 以下( )没有涉及Python语言的面向对象特性支持。
A. Python中构造一个 class
B. Python中调用 printf 函数
C. Python中调用用户定义的类成员函数
D. Python中构造来源于同一基类的多个派生类
第 2 题 关于Python中面向对象的类的继承,下面说法错误的是( )
A. 子类可以通过继承不能访问到父类的所有属性
B. 多个子类可以继承同一个父类
C. 子类和子类产生的对象都可以通过句点的方式拿到父类
D. python中支持多继承
第 3 题 有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 题 采用如下代码实现检查输入的字符串括号是否匹配,横线上应填入的代码为( )。
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 题 下面代码判断队列的第一个元素是否等于 ,并删除该元素,横向上应填写( )。
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 题 假设字母表 {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 题 以下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 题 给定一棵二叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG,则这棵树的正确后序遍历结果是( )。
A. EDBGFCA
B. EDGBFCA
C. DEBGFCA
D. DBEGFCA
第 9 题 一棵有 个结点的完全二叉树用数组进行存储与表示,已知根结点存储在数组的第 个位置。若存储在数组第个位置的结点存在兄弟结点和两个子结点,则它的兄弟结点和右子结点的位置分别是( )。
A. 8, 18
B. 10, 18
C. 8, 19
D. 10, 19
================================================
答案和更多内容请查看网站:【试卷中心 -- Python编程 五级/六级/其它】
网站链接
青少年软件编程历年真题模拟题实时更新
================================================