资源简介 (共18张PPT)3.2 数据与结构第一课时【活动一】阅读课本56页任务一和课件中图片信息,了解订单数据,填表3.2.1一、数据类型【活动一】了解订单数据,填表3.2.1网站名称 订单中的数据 Python中对应的数据类型某电商网站 商品名称单价数量高考报名网站 姓名出生日期是否应届生网站名称 订单中的数据 Python中对应的数据类型某电商网站 商品名称 字符串str单价 浮点型float数量 整型int监控管理系统 编码器名称 字符串str开始时间 日期型报警预录 布尔型(逻辑型)bool程序设计语言定义了两类数据:简单数据和复合数据字符串str浮点型float整型int字符串str日期型布尔型(逻辑型)bool简单数据元组列表集合字典复合数据一、数据类型【做中学】了解Python复合数据类型在Python语言中,复合数据类型有元组(tuple)、集合(set)、列表(list)、字典(dict)等元组 ()2.列表 [ ]3.集合 {(),() }4.字典 {安徽:[合肥,芜湖,阜阳]}元组例如,某用户预订了商品编号为“ID0010230”、单价为15.68元、数量为36,可将这3个不同类型的简单数据组织成一个复合数据类型——元祖。记作:BookInfo0=("ID0010230",15.68,36)另一用户预订了商品编号为“ID2315937”、单价为20元、数量为2,可记作:BookInfo1=("ID2315937",20,2)>>> BookInfo0=("ID0010230",15.68,36)>>> type(BookInfo0) #返回元祖类型>>> BookInfo1=("ID2315937",20,2)>>> BookInfo1[1]20 #返回元祖BookInfo1中索引为1的项的值计算订单额:>>> BookInfo0[1]*BookInfo0[2]+BookInfo1[1]*BookInfo1[2]604.48 #返回计算结果列表今天的订单汇总,也可以按订单产生的新后顺序组成一个列表(列表里的项是有顺序编号的):BookList=[BookInfo0, BookInfo1]>>> BookList=[BookInfo0, BookInfo1]>>> type(BookList) #返回列表类型>>> BookList[0]('ID0010230', 15.68, 36)>>> BookList[1]('ID0010359', 0.68, 5)>>> BookList[0][1]*BookList[0][2]+BookList[1][1]*BookList[1][2]604.48 #返回计算结果集合今天的订单汇总,可以定义为一个集合(集合里的项称为元素,彼此之间没有顺序):BookSet={BookInfo0,BookInfo1}>>> BookSet={BookInfo0,BookInfo1}>>> type(BookSet) #返回集合类型>>> BookSet{('ID2315937', 20, 2), ('ID0010230', 15.68, 36)} #返回集合的值计算订单额:>>> t=0>>> for i in BookSet:t+=i[1]*i[2](将本行光标后退至行首,再按回车)>>> t604.48字典字典 {安徽:[合肥,芜湖,阜阳]}数据结构:存在特定关系的数据元素的组合体数据结构按逻辑结构分类:集合结构、线性结构、树结构、图结构二、数据结构线性结构:二、数据结构队列(Queue)是一种操作有限制的线性结构,它的数据元素只能在一端(队尾)依次添加(入队),在另一端(队首)依次删除(出队)。队列是先进先出(FIFO:First In First Out)表。排队候车a0 ,a1 ,a2 ,… ,an出队入队队首队尾典型的例子如超市里排队付款的队伍。二、数据结构在Python中,队列一般用列表(list)实现,常用操作:q=[] #定义空列表qq.append(x) #元素x入队q.pop(0) #返回队首元素,队首元素出队(删除)len(q) #返回队列q的长度(元素个数)q[i] #返回列表q中索引(index)为i的元素. 索引有2套编号方式:正编号(从左到右编号依次为0,1,2,…)和负编号(从右到左编号依次为-1,-2,-3,…)队列的计算机实现:二、数据结构listque=[]x=0while (x!=4):print('1.添加订单')print('2.发货')print('3.查看订单列表')print('4.退出')x=int(input('请输入你的选择:'))if x==1:y=input('请输入订单编号:')listque.append(y) #在列表listque中添加订单号elif x==2:if len(listque)==0:print('订单列表为空')else:print('发货:'+listque.pop(0)) #删除列表listque的首元素,表示发货elif x==3:print(listque)print()二、数据结构【做中学】活动2 编制订单数据处理程序1.队列是一种线性数据结构,本质特征是FIFO2.队列在Python中,用列表实现队列的创建;队列的基本操作:入队,出队,求队长,判队空三、小结某体校乒兵球队,为了找出混双的最佳组合,要求任何两名男女运动员都要搭档一次,与陪练进行教学赛。假定男运动员有5人,分别用A~E表示,女运动员有4人,分别用1~4表示。每天安排4场教学赛。试设计方案并编程,输出混双组合安排。A ,B ,C ,D ,E出队入队队首队尾男队1 ,2 ,3 ,4出队入队队首队尾女队混双组合混双组合问题编程实现四、练习:混双组合问题三、小结【划重点】本内容学科核心素养之三层架构学科知识层:数据结构(队列),数据类型(列表、字符串),队列的基本操作(入队,出队,求队长,判队空),循环语句,分支语句问题解决层:算法(订单问题划归为队列),测试(打补丁)学科思维层:抽象、建模(队列)、人类行为理解(对订单实现自动化作业管理)小结Python数据类型包括:1.简单数据类型①整数(int)②浮点数(float)③字符串(str)④布尔(bool)2.复合数据类型①元祖(tuple)②集合(set)③列表(list)④字典(dict)3.数据结构①集合结构②队列、栈(线性结构)③树结构④图结构 展开更多...... 收起↑ 资源预览