python0到3代码执行结果

Python010

python0到3代码执行结果,第1张

num = [7,14,21,28,35,42,49,56,63]print("序列num的长度为:", len(num))print("序列",num,"中最大值为",max(num))print("序列",num,"中最小值为",min(num))

运行结果:

序列num的长度为: 9序列 [7, 14, 21, 28, 35, 42, 49, 56, 63] 中最大值为 63序列 [7, 14, 21, 28, 35, 42, 49, 56, 63] 中最小值为 7

序列是一块用于存放多个值的连续内存空间,并且按一定顺序排列,每一个值(称为元素)都分配一个数字,称之索引或位置。通过该索引可以取出相应的值;(在python中内置了5个常用的序列结构:列表,元组,集合,字典和字符串)

1.1索引

序列中的每一个元素都有一个编号,也称为索引。注意这个索引是从0开始递增的。即下标为0表示第一个元素,下标1表示第二个元素。。。。

元素一     元素二    元素三    元素....    元素n  

    0                1             2            ....           n-1           <—索引(下标)

当然索引也可以是负数,这个索引从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值是-1

verse = ["圣安东尼奥马刺","洛杉矶湖人","休斯敦火箭","金州勇士"]print(verse[2])print(verse[-1])

输出结果:

休斯敦火箭

金州勇士

1.2 切片

切片操作是访问序列中元素的另一种方法,他可以访问一定范围内的元素。通过切片操作可以生成一个信的序列。其语法格式如下:

sname[start : end : step]

sname:表示序列的名称

start:表示切片的开始位置(包括该位置),如果没有指定,默认就是0

end:表示切片截止位置(不包括),如果没有指定,默认为序列的长度

step:表示切片的步长,如果省略,默认为1。

通俗解释:隔“步长”取值

1.3序列相加

使用(+)运算符实现。说白了就是“拼接”

本质就是python语言赋值语句,源程序:

源程序

程序运行结果:

程序运行结果

a的结果是1

问题: 哈夫曼编码,英文名称 Huffman Coding,有时也翻译为霍夫曼编码,在1952年提出的,是最好的编码方式。哈夫曼编码在电子通讯方面有着重要的应用,同时也广泛应用于数据压缩,其压缩率通常在20% 90%之间 赫夫曼码是可变字长编码(VLC)的一种。哈夫曼树是最优二叉树, 带权路径长度最小的二叉树。

原理:

假设有几个数字40,10,20,16,14。

首先将这五个数字按照从小到大的顺序排列:10, 14,16,20, 40。

构建哈夫曼树:

1.首先选取10,14

2.重新排序:16,20,24,40

3.重新排序24,36,40,60

4.按照二叉树左0右1,构建哈夫曼树

所以最终得到数字10的编码为100,数字14的编码为101,数字16的编码为110,数字20的编码为111,数字40的编码为0。

代码:

运行结果: