1、3.23.2 数据与结构数据与结构( (第一课时第一课时) ) 【学习目标】学习目标】 认识数据的类型。来源:学科网 ZXXK 熟悉队列结构的概念和特点,能够运用 Python 语言队列进行操作。 【教学重点】【教学重点】简单数据类型与线性数据结构。 【教学难点】【教学难点】线性数据结构。 【教学过程】【教学过程】 一、问题探究一、问题探究 阅读第 56、 57 页 “任务一探究网购订单处理” 之 “活动 1了解订单数据” , 填写第 57 页的表 3.2.1。教师检查,并评讲填写情况,引出数据类型。 表3.2.1 网购中的订单数据 网站名称订单中的数据Python中对应的数据类型 某电商网站
2、 商品名称字符串 单价浮点型 数量来源:学科网ZXXK整型 高中生学籍网 姓名字符串 出生日期日期型 是否团员布尔型(逻辑型) 二、数据类型二、数据类型 1.1. PythonPython简单简单数据类型数据类型 整数(int)用来表示整数数值,就是没有小数部分的数值。 浮点数(float)浮点数由整数部分和小数部分组成。 字符串(str):在Python中,加了引号的字符都被认为是字符串,其声 明有三种方式,分别是:单引号、双引号和三引号,其中单引号和双引号中的字 符序列必须在一行上,而三引号内的字符序列可以分布在连续的行上。 布尔(bool): Python布尔类型也是用于逻辑运算,有两个
3、值:True (真)和False(假)。 【操作练习】 type(8)#type()函数返回数据的类型 #返回int类型 type(3.14) #返回f loat类型 type(Thank you!) #返回str类型 type(True) #返回bool类型 2 2.Python.Python复合数据类复合数据类型型 在Python语言中, 复合数据类型有元祖 (tuple) 、 集合 (set) 、 列表(list)、 字典(dict)等。在后面的章节里会一一介绍。 3 3、数据类型转换:、数据类型转换: int(x ,base); float(x) : str(x) : list(s):
4、 三、数据结构三、数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合 中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树, 图,堆,散列表等,如图所示 : 数据结构有很多种,一般来说,按照数据的逻辑结构对其进行简单的分类, 包括线性结构和非线性结构两类。 1、线性结构 线性结构又称为线性表。在线性结构中,除首元素没有前趋元素、尾元素线性结构又称为线性表。在线性结构中,除首元素没有前趋元素、尾元素 没有后继元素外,其他元素都只有一个前趋元素和一个后继元素。线性表中数没有后继元素外,其他元素都只有一个前趋元素和一个后继元素。线性表中数 据元素之间也是一对
5、一的关系。如下图所示:据元素之间也是一对一的关系。如下图所示: 2、常见的线性数据结构常见的线性数据结构 常见的线性结构有:常见的线性结构有:栈、队列和串等都属于线性结构。栈、队列和串等都属于线性结构。 (1 1)栈)栈 栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不 允许操作。 栈的特点是:先进后出,或者 说是后进先出,从栈顶放入元素的操 作叫入栈,取出元素叫出栈。 栈的结构就像一个集装箱,越先放进去的东西越晚才能拿出来,所以,栈常 应用于实现递归功能方面的场景,例如斐波那契数列。 (2 2)队列)队列 队列与栈一样,也是一种线性表,不同的是,队列可以在一端添加元素,在 另一端取出元素,也就是:先进先出。从一端放入元素的操作称为入队,取出元 素为出队,示例图如下: 使用场景:因为队列先进先出的特点,在多线程阻塞队列管理中非常适用。 队列是先进先出(FIFO)表,它的数据元素只能在一端依次添加(进队), 在另一端依次删除(出队)。典型的例子,如超市里排队付款的队伍。 练一练练一练 试着模仿订单数据处理程序,编写单车道死胡同停车管理程序(栈的应用)。 参考程序:(“单车道死胡同停车管理程序单车道死胡同停车管理程序.py.py”下发到学生机下发到学生机)。