3.2 数据与结构 第一课时 课件(共26张PPT)

资源下载
  1. 二一教育资源

3.2 数据与结构 第一课时 课件(共26张PPT)

资源简介

(共26张PPT)
——数 据 与 结 构
网购订单的处理
教 学
目 标
了解简单数据类型。
通过熟悉队列结构的概念和特点,能够使用Python语言对队列进行操作。
通过网购订单案例,掌握列表、元组、集合等复合数据类型的特点及用法。
简单数据类型

了解订单数据
随着互联网技术的发展,网上购物已经成为了人们的日常习惯。
在网上购物时,我们提交订单后, 网页上就会显示订单数据。
订单里面包含哪些数据类型呢?
年 龄
是 否 党 员
简单数据类型

了解订单数据
网站名称 订单中的数据 Python中对应的数据类型
电商网站 商品名称 字符串
单价 浮点型
数量 整形
网站名称 表中的数据 Python中对应的数据类型
学生信息表 姓名 字符串
年龄 整形
家庭住址 字符串
是否团员 布尔类型
简单数据类型

简单数据类型
不能分解成更小的数据类型
整型(int): 表示整数,包括正整数、负整数和0
浮点型(float): 浮点数由整数部分和小数部分组成。
字符串(str): 加了引号(“”)的都被认为是字符串。
布尔型(bool): 用于逻辑运算,它只有两个值:True(真)和False(假)。
复杂数据类型

List = [2.5,6,“张三”,“男”,130,“hello”,0,“0.36”]
想一想,上面列表中包含哪些类型的数据?
整型、浮点型、字符串类型
在Python语言中,复杂数据类型还有元组(tuple)、集合(set)、字典(dict)等。
复杂数据类型
复杂数据类型

复合数据类型 创建方法 相同点 不同点
元组 tuple=() 包含多种数据类型 元组中的元素是不能修改、删除、添加
列表 List = [ ] 列表的元素可以随时修改、删除或添加
集合 Set = { } 集合中的元素是无序的、不可重复的
字典 Dict = {key1 : value1, key2 : value2 } 字典是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储
复杂数据类型

某用户预订的商品编号为ID2021001、单价为15.68元,数量为36,可将这3个不同类型的简单数据组织成“元组”复合数据类型:
1.元组
>>> CommInfo1=('ID2021001',15.68,36)
>>> type(CommInfo1)
#返回元组类型
另一用户预订的商品编号为ID2021002、单价为20元,数量为2,可记作:
>>> CommInfo2=('ID2021002',20,2)
>>> CommInfo2[1]
20 #返回元组CommInfo2中索引为1的项的值
:用“()”将数据集中存放,用逗号分隔元组中的各项。无法进行添加、修改、删除等操作。
复杂数据类型

2.字典
:通过“{}”使用键:值(key:value)进行存储。每个键值对之间用逗号分割。
将某用户预订的商品(商品编号:ID2021003、单价:33元,数量:15)使用字典进行存储。
>>> CommDict={"订单编号": 'ID2021003',"价格":70,"数量":1}
>>> type(CommDict)
#返回元组类型
>>> CommDict["订单编号"] #通过键访问字典里对应的值
ID2021003
>>> CommDict["数量"]=3 #通过键访问字典里对应的值
>>> CommDict
{"订单编号": 'ID2021003',"价格":70,"数量":3}
课堂练习
练一练:通过练习讨论CommDict字典如何:
1.添加新的键值对:“ 收货地址:常州市武进区礼嘉中学“
2.删除键值对:"价格:70" (del)
复杂数据类型

2.集合
>>> CommSet={CommInfo1,CommInfo2}
>>> type(CommSet)
#返回集合类型
>>> CommSet
{('ID2021002', 20, 2), ('ID2021001', 15.68, 36)} #返回集合的值
>>>CommSet.add(CommInfo3) #集合中添加元素
{('ID2021003', 40, 5), ('ID2021001', 15.68, 36),('ID2021002', 20, 2)} #返回集合的值
>>>CommSet.pop() #集合中随机删除元素
{('ID2021003', 40, 5), ('ID2021002', 20, 2)}
>>>CommSet.remove(CommInfo3) #集合中删除元素
{('ID2021002', 20, 2)}
:使用 ”{ }“ 定义一个集合(集合里的项称为元素,彼此之间没有顺序,且不可重复)
订单汇总,可以定义为一个集合
复杂数据类型

3.列表
:列表就是用“[]”将数据集中存放,用逗号分隔列表中的各项。可以 对列表进行增删改查
订单汇总,也可以按订单产生的先后顺序组成一个列表(列表里的项是有顺序编号的):
>>> CommList=[CommInfo1, CommInfo2]
>>> type(CommList)
#返回列表类型
>>> CommList[0]
('ID2021001',15.68,36)
>>> CommList[0][1]*CommList[0][2]+CommList[1][1]*CommList[1][2]
604.48 #返回计算结果
课堂练习
练一练:通过练习讨论CommList列表如何实现增加删除元素,完成P58页活动2
1.添加新的项:append()、insert()
2.删除项pop()、remove()、del
网店接受了大量的订单,网店在处理订单时,一般采取“先下单,先发货” 的原则。 因此,所有的订单将按照下单的时间顺序放进一个列表中,先放进去的先发货,所有订单排列在一起,像是一群人在排队。
Python程序可以实现以下功能:
1.提供 “添加订单 ”; #选择“1”后输入订单数据,程序将订单数据添加到订单数据表中
2.发货; #选择“2”后,程序 将当前订单列表中最早进入的数据删除
3.查看订单列表 #选择“3”后,可以显示当前订单列表中所有的订单数据
4.退出 #选择 “4"将结束运行
课堂练习
listque=[] #定义列表listque存储订单
x=0
while(x!=4): #当x=!4时,执行循环
print('\n1. 添加订单')
print('2. 发货')
print('3. 查看订单列表')
print('4. 退出')
x=int(input("输入你的选择:")) #输入选择项
if x==1:
y=input("输入订单编号:") #输入订单编号
① #在列表listque中添加订单号
elif x==2:
if len(listque)==0: #如果订单列表为空
print("订单列表为空")
else:
② # 在列表listque中删除订单号
elif x==3:
print("等待发货:",listque) #查询列表listque中的订单号
课堂练习
listque=[] #定义列表listque存储订单
x=0
while(x!=4): #当x=!4时,执行循环
print('\n1. 添加订单')
print('2. 发货')
print('3. 查看订单列表')
print('4. 退出')
x=int(input("输入你的选择:")) #输入选择项
if x==1:
y=input("输入订单编号:") #输入订单编号
① #在列表listque中添加订单号
elif x==2:
if len(listque)==0: #如果订单列表为空
print("订单列表为空")
else:
② # 在列表listque中删除订单号
elif x==3:
print("等待发货:",listque) #查询列表listque中的订单号
① listque.append(y) 
② del listque[0]
或listque.pop(0)  
编制订单数据处理程序

线性数据结构

数据结构是存在特定关系的数据元素的集合。在解决有些问题时,一些相关联的数据将集中在一起,形成一个数据的集合,这种集合能够单独或作为一个整休被访问和处理。
线性数据结构又称为线性表。在线性数据结构中,除首元素没有前趋元素、尾元素没有后继元素外,其他元素都只有个后继元素。线性表中数据元素之间是一对一的关系。
线性数据结构
线性数据结构

队列是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)。特点:先进先出。
A
B
C
D
E
H
G
F
出队
入队
队首
队尾
队列
线性数据结构

有序排队上车的乘客
有序排队付款的用户
队列
线性数据结构


栈是一种先进后出的线性结构,它的数据元素只能在一端依次添加(进栈)、删除(出栈)。
线性数据结构

单车道死胡同停车,后进去的车先倒出来,先进去的车最后才能倒出来。
子弹进出弹匣:最先装入弹匣的子弹最后才能被弹出,而最后装入弹匣的子弹则最先被弹出。
课堂练习
1.关于队列,下列说法错误的是( )
A、队列是先进先出(FIFO)表,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)
B、pop()方法可以删除列表的首元素(相当于队列的“出队”操作)
C、pop(0)方法可以删除列表的首元素(相当于队列的“出队”操作)
D、append方法可以在列表尾部添加一个数据元素(相当于队列的“入队”操作)。
2.栈和队列的共同点是( )
A、只允许在端点处插入和删除数据 B、都是先进后出
C、都是先进先出 D、没有共同点
B
A
课堂总结
课后巩固
1.某用户预订了商品编号为“ID2315937”、单价为20元、数量为2,可将这3个不同类型的简单数据组织成一个复合数据类型元祖。记作:BookInfo1=("ID2315937",20,2),下列选择正确的是( )A、BookInfo1[1]的值是"ID2315937"B、BookInfo1[1]*BookInfo1[2]的值为40C、BookInfo1(1)的值是20D、len(BookInfo1)的值为4,len(BookInfo1[2])的值为1
2.集合是一个可变容器,集合是无序的存储结构,集合内的数据没有先后关系,集合内的数据对象都是唯一的(不能重复),集合相当于是只有键没有值得字典(键就是集合中的数据),集合内的元素是不可变的,下列说法不正确的是( )A、s={1,2,3,3,2,1},print(s)执行后,输出:{1,2,3}B、s={6,7,8,9},s.add(1),print(s)执行后,输出:{6,7,8,9,1}C、s={6,7,8,9},s.pop(),print(s)执行后,输出:{6,7,8}D、s={3,4,5,6,7,8,9},s.remove(5),print(s)执行后,输出:{3,4,5,6,7,9}
B
D
3.列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。对列表BookInf=[1,2,4,6,7,5,1,9,6],下列错误的是( )
A、BookInf.append(10),列表添加了10元素
B、print(BookInf[-2]),输出:1
C、BookInf.remove(BookInf[6]),print(BookInf),输出:[2,4,6,7,5,1, 9,6]
D、del(BookInf[6]),print(BookInf),输出:[1,2,4,6,7,5,9,6]
B
课后巩固
THE END

展开更多......

收起↑

资源预览