1
、以下( )没有涉及
Python
语言的面向对象特性⽀持。
A. Python
中构造⼀个
class
B. Python
中调用
printf
函数
C. Python
中调用用户定义的类成员函数
D. Python
中构造来源于同⼀基类的多个派⽣类
解析:调用
printf
函数并没有涉及到类或者对象的概念,因此不属于面向对象特性的一部分。
2、关于
Python
中面向对象的类的继承 ,下面说法错误的是
( )
A.
子类可以通过继承不能访问到⽗类的所有属性
B.
多个子类可以继承同⼀个父类
C.
子类和子类产⽣的对象都可以通过句点的⽅式拿到⽗类
D. python
中支持多继承
解析:
A
选项描述不正确,子类可以通过继承访问到父类的公有属性,但不能访问到私有属性。
B
和
D
选项描述正确。
C
选项描述正确,子类对象可以通过句点方式访问父类的公有属性。
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
解析:
栈的操作是先进后出(
FILO
),出栈序列需要满足这个规则。
选项
A
、
B
和
D
都可以实现。
选项
C
无法实现,因为
3
出栈后不可能有
4
和
6
出栈。
4
、采用如下代码实现检查输⼊的字符串括号是否匹配 ,横线上应填入的代码为( )。
s.push(symbol)
s.pop(symbol)
s.push(index)
D. s.pop(index)
解析:
当遇到开括号时,应该将开括号压入栈中,以便后续匹配闭括号。
正确的代码是
s.push(symbol)
。
5
、下⾯代码判断队列的第⼀个元素是否等于
a
,并删除该元素 ,横向上应填写( )。
not q.empty() and q.queue[0] != a:
not q.empty() and q.queue[0] == a:
C. q.empty() and q.queue[0] == a:
D. q.empty() and q.queue[0] != a:
解析:
判断队列的第一个元素是否等于
a
,并删除该元素,应填写
not 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
解
析:求哈夫曼编码需要先构建哈夫曼树,构建方法:① 从频率表中取出最小的两个元素,构建出新元素,② 将新元加入到频率表中,图示如下
所以很明显
abcdef
分别对应的一组哈夫曼编码长度为
3 3 2 2 2
7
、以下
Python
代码实现
n
位
2024年 9月 GESP认证 Python编程 六级试卷解析