《Python程序设计》 课件 项目6 字典与集合应用_第1页
《Python程序设计》 课件 项目6 字典与集合应用_第2页
《Python程序设计》 课件 项目6 字典与集合应用_第3页
《Python程序设计》 课件 项目6 字典与集合应用_第4页
《Python程序设计》 课件 项目6 字典与集合应用_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目6字典与集合应用知识目标理解字典的基本概念01熟悉字典的定义和访问方法02理解字典常见操作的区别03理解集合的基本概念04熟悉集合的定义和访问方法05理解集合常见操作的区别06理解集合类型操作符的区别07能力目标能够熟练创建字典01能够熟练访问字典中的元素02能够正确对字典元素进行添加、修改与删除03能够熟练使用字典解决问题04能够熟练创建集合05能够熟练完成集合的基本操作06能够正确使用集合类型的操作符07目录菜单管理系统设计任务1自助点餐系统设计任务2任务提出01任务分析02知识准备03任务1菜单管理系统设计任务实现04任务总结05任务提出Part.01提出任务编写程序,设计一个简单的菜单管理系统,实现对餐厅菜单中的菜品名称和价格信息进行管理与维护。其主要功能包括查看菜单、添加菜品、删除菜品、清空菜单、更改菜品价格、退出系统等,系统界面如图所示。任务分析Part.02任务分析1.创建Python程序MenuManagement.py。2.完成系统操作界面显示设计。3.创建一个字典用来存放菜品信息。4.通过input()函数接收用户的选择。5.使用字典的基本操作完成菜单管理功能。6.测试运行程序,检验程序各项功能。

本任务主要实现的是对菜单的管理,菜单中每一个菜品的信息都包含菜品名称和价格,并且菜品名称和价格存在一一对应的映射关系,因此可以使用字典来存放菜品信息;再通过字典元素的添加、修改、删除等操作实现对菜单中菜品的添加、修改、删除。具体的任务实施分析如下:知识准备Part.03字典的基本概念01字典的访问02字典的基本操作03知识准备字典的概述01字典的创建026.1字典的基本概念字典是由“键值对”组成的无序可变序列,字典中的每个元素都是一个“键值对”,类似于生活中常用的字典,可以利用“键”快速查找“值”。字典的每个键值对用冒号“:”分割,每对之间用逗号“,”分割,所有元素都包含在花括号“{}”中,格式如图所示。字典的概述d={key1:value1,key2:value2}字典中的键一般是唯一的,如果重复,最后一个重复的键值对会替换前面的,但值可以重复。如下图所示代码。“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组,而“值”可以是任意的数据。字典的概述输出结果:使用花括号创建字典:在花括号中添加使用逗号分隔的元素,每个元素由一组键值对组成,键值对中间通过冒号来进行分隔。语法格式如下:字典的创建字典名={键1:值1,键2:值2,…,键n:值n}使用dict()函数创建字典:使用dict()函数创建字典时,dict()函数的参数可以是关键字、映射类型对象、可迭代对象。语法格式如下:字典的创建字典名=dict(关键字)或字典名=dict(映射类型对象)或字典名=dict(可迭代对象)当花括号“{}”,或者dict()函数中为空时,会创建一个空字典。字典的创建输出结果:直接访问字典元素01通过函数访问字典元素026.2字典的访问在Python中,可以使用方括号“[]”直接访问字典中某个存在的值,语法格式如下:直接访问字典元素字典名[键]输出结果:通过get()函数获取值:如果无法确定想要访问的键在字典中是否存在,可以使用get()函数的方式获取值,语法格式如下:通过函数访问字典元素字典名.get(键,[默认值])语法格式说明如下:第一个参数为要查找的键第二个参数为键不存在时返回的默认值get()函数会根据键在字典中查找对应的值,如果未找到则会返回默认值,当未设定默认值时,返回None。通过items()函数获取所有键值对:通过items()函数可以获取字典中的所有键值对,该函数会以列表返回一个视图对象,它包含一个元组列表,每个元组由相应的键和值对组成,语法格式如下:通过函数访问字典元素字典名.items()通过keys()函数获取所有键:通过keys()函数可以获取字典中的所有键,返回字典的键视图,语法格式如下:通过函数访问字典元素字典名.keys()通过values()函数获取所有值:通过values()函数可以获取字典中的所有值,返回字典的值视图,语法格式如下:通过函数访问字典元素字典名.values()通过函数访问字典元素输出结果:字典元素的添加与修改01字典与字典元素的删除026.3字典的基本操作添加或更新单个字典元素,语法格式如下:字典元素的添加与修改字典名[键]=值在字典中添加键值对时,如果要添加的键在字典中已存在,则会更新键对应的值。使用update()函数可以将其他字典中的键值对添加到当前字典中,语法格式如下:字典元素的添加与修改字典名.update(其他字典)若其他字典中的键在当前字典中已存在,则会更新键对应的值。输出结果:字典元素的添加与修改使用del命令可以删除整个字典,字典删除后将不能再次访问,语法格式如下:del字典名字典与字典元素的删除del命令:del命令除了可以删除整个字典外,也可以删除字典中的某一个元素,语法格式如下:del字典名[键]字典与字典元素的删除clear()函数:clear()函数可以将字典中的所有元素删除,保留一个空字典,与del命令不同,该字典能够再次访问,语法格式如下:字典名.clear()字典与字典元素的删除pop()函数:pop()函数可以随机删除字典中的某一个元素并返回其对应的键值对,语法格式如下:字典名.pop(键[,默认值])当键在字典中不存在时,pop()函数返回第二个参数默认值,如果未设置默认值,系统则会报错。字典与字典元素的删除popitem()函数:popitem()函数可以删除字典中最后一对键值对,并将删除的键值对返回,语法格式如下:字典名.popitem()字典与字典元素的删除字典与字典元素的删除输出结果:任务实现Part.04分析代码01编写代码02运行代码03任务实现分析代码首先需要创建一个字典menu来存储菜品信息,并使用循环语句保障程序持续运行;然后可将菜单管理系统分为三个部分,选择功能、实现功能与结束。分析代码可使用print()函数提供一个系统界面,并使用input()函数选择功能选择功能根据用户选择的功能,通过字典的基本操作分别进行查看菜单、添加菜品、删除菜品、清空菜单、更改菜品价格以及退出操作。在查看菜单功能中,可通过for循环遍历字典menu,并使用print()函数格式化打印输出菜单的菜品名称和价格;在添加和更改菜品功能中,可使用menu[name]=price添加或修改菜品价格;在删除菜品功能中,可先通过notin判断菜品名称是否存在,然后再通过delmenu[name]命令删除;在清空菜单功能中,可使用clear()函数清空菜单实现功能使用break跳出循环退出系统结束代码思路:(1)启动PyCharm,新建项目,位置在D:\Chapter06,新建Python文件MenuManagement.Py编写代码(2)首先进行准备工作及界面设计,输入如下代码:(3)在输入语句后,根据输入内容分别实现不同的功能,查看菜单功能:编写代码

添加菜品功能:编写代码

删除菜品功能:编写代码

清空菜单功能:编写代码

更改菜品价格功能:编写代码

退出功能:编写代码(4)在程序最后,循环语句中添加判断结束的流程,输入如下语句:编写代码按快捷键Ctrl+Shift+F10运行当前程序,对所有功能进行测试,部分功能如图所示。运行代码任务总结Part.05通过本任务的学习,掌握了复合数据类型字典的用法。字典是由“键值对”组成的无序可变序列,常应用在以Key检索Value的数据记录场景。字典中键的特性:键的唯一性:字典中的键必须是唯一的。如果有重复的键,字典只会保留最后一个键值对。键的不可变性:字典的键必须是不可变的,可以使用数字、字符串或元组作为键,但不能使用列表或其他可变类型作为键。字典的特性:无序性:字典是无序的,不能通过索引来访问元素。可变性:字典是可变的,可以在运行时添加、修改或删除键值对。但是,一旦一个键被添加到字典中,就不能再改变这个键,只能改变与这个键相关联的值。嵌套:字典可以嵌套,即字典的值可以是另一个字典。但是,字典的键不能是另一个字典,这会导致类型错误。直接访问字典元素时,访问的键必须存在,否则程序就会报错。建议先判断字典中是否有对应的键再进行访问。通过函数访问字典元素,则无需提前判断是否存在。任务提出01任务分析02知识准备03任务2自助点餐系统设计任务实现04任务总结05任务提出Part.01提出任务编写程序,设计一个简单的自助点餐系统。其主要功能包括查看已点菜品、添加菜品、删除菜品、清空已点菜品、退出系统等,已点菜品中不能出现重复的菜品。,系统界面如图所示。任务分析Part.02任务分析1.创建Python程序OrderingSystem.py。2.完成系统操作界面显示设计。3.创建一个字典用来存放所有菜品。4.创建一个集合用来存放已点菜品名称。5.通过input()函数接收用户的选择。6.使用集合的基本操作完成自助点餐功能。7.测试运行程序,检验程序各项功能。

本任务主要实现的是顾客点餐功能,可以使用字典存放所有菜品信息;对于已点菜品,由于要求菜品名称不能重复,因此可以使用集合来存放已点菜品名称;最后通过集合的基本操作完成自助点餐系统的各项功能。具体的任务实施分析如下:知识准备Part.03集合的基本概念01集合的基本操作02集合类型的操作符03知识准备6.4集合的基本概念集合的概述01集合的类型02集合的创建03Python中的集合与数学的集合类似,它是一个由不同元素组成的无序序列。与列表和元组不同,集合不支持索引、切片等序列的操作。集合的概述四大发明10以内的质数2、3、5、7集合有以下几个特点:无序性:集合中保存的元素是没有顺序的多样性:集合中可以保存多种数据类型的元素唯一性:集合中的元素都是唯一存在的,不会重复出现集合的概述Python中的集合有两种类型:可变集合(set):能够对集合中的元素进行修改不可变集合(frozenset):能够对集合中的元素进行修改集合的类型使用花括号创建集合:在花括号中添加使用逗号分隔的元素,语法格式如下:集合的创建集合名={元素1,元素2,…,元素n}使用set()函数创建集合:通过给set()函数传递可迭代对象,可将对象转换为集合。该对象可以是字符串、元组、列表等。此外,使用frozenset()函数可以创建一个不可变集合。语法格式如下:集合的创建集合名=set(iteration)或集合名=frozenset(iteration)iteration是一个可迭代对象,它可以是字符串、元组、列表等。集合的创建输出结果:使用花括号{}创建集合时,花括号{}中必须包含至少一个元素,当花括号{}中没有元素时会创建一个空字典,想要创建空集合可以使用set()函数的方式,如下所示代码。集合的创建输出结果:6.5集合的基本操作集合元素的添加01集合元素的删除02集合元素的查找03通过add()函数添加元素:使用add()函数将一个元素添加到集合中,如果元素已存在,则不进行任何操作。语法格式如下:集合元素的添加集合名.add(元素)通过update()函数添加元素:使用update()函数将原有集合中的元素和其他可迭代对象中的元素共同构成新的集合来更新原有集合,其参数可以是列表、元组、字典等。语法格式如下:集合元素的添加集合名.update(iteration)集合元素的添加输出结果:通过remove()函数删除元素:使用remove()函数删除集合中的指定元素,如果元素不存在,则会发生错误。语法格式如下:集合元素的删除集合名.remove(元素)通过discard()函数删除元素:使用discard()函数删除集合中的指定元素,如果元素不存在,不做任何操作,也不会报错。语法格式如下:集合元素的删除集合名.discard(元素)通过pop()函数删除元素:使用pop()函数可以随机删除集合中的一个元素并返回该元素。语法格式如下:集合元素的删除集合名.pop()通过clear()函数删除元素:使用clear()函数可以清除集合中所有元素。语法格式如下:集合元素的删除集合名.clear()集合元素的删除输出结果:输出结果:Python集合中元素是无序的,因此无法通过下标等形式获取,但python提供了in、notin操作符可以用于判断元素在某集合中是否存在。集合元素的查找False6.6集合类型的操作符基础操作符01关系操作符02增强操作符03集合类型的基础操作有四种,与数学中的集合运算类似,分别是交集、并集、差集以及对称差集运算。若有两个集合S、T,集合S中包含元素1、2、3,集合T中包含元素2、3、4,那么两个集合四种基础操作的关系如图所示。基础操作符输出结果:交集操作交集操作是指取出两个集合中的公共元素形成一个新集合,可以通过“&”操作符或intersection()函数实现。基础操作符{2,3}{2,3}输出结果:并集操作并集操作是指取出两个集合中的所有元素形成一个新集合,可以通过“|”操作符或union()函数实现。基础操作符{1,2,3,4}{1,2,3,4}输出结果:差集操作差集操作是指在一个集合中取出另一集合没有的元素形成一个新集合,可以通过“-”操作符或difference()函数实现。基础操作符{1}{1}输出结果:对称差集操作对称差集操作是指取出两个集合中只属于自身集合的元素形成一个新集合,可以通过“^”操作符或symmetric_difference()函数实现。基础操作符{1,4}{1,4}在Python中使用“<=”、“<”、“>=”、“>”来判断集合之间的包含关系,返回结果为Ture或False。四种关系操作符的应用及描述如表所示。关系操作符操作符应用描述<=S<=T判断S是否为T的子集<S<T判断S是否为T的子集且S与T不相等>=S>=T判断S是否为T的超集>S<T判断S是否为T的超集且S与T不相等关系操作符输出结果:False集合的交集、并集、差集以及对称差集还可以跟赋值运算一起构成增强运算操作,其作用是将两个集合交集、并集、差集以及对称差集的结果更新到第一个集合中,具体应用及描述如表所示。增强操作符操作符应用描述&=S&=T执行集合S和T的交集操作并将结果更新到集合S|=S|=T执行集合S和T的并集操作并将结果更新到集合S-=S-=T执行集合S和T的差集操作并将结果更新到集合S^=S^=T执行集合S和T的对称差集操作并将结果更新到集合S增强操作符输出结果:{2,3}任务实现Part.04分析代码01编写代码02运行代码03任务实现分析代码首先需要创建一个字典menu用来存储所有菜品信息;同时使用set()函数创建一个空集合clickedMenu来存储已点菜品名称;接着使用循环语句保障程序持续运行;然后可将自助点餐系统分为三个部分,选择功能、实现功能与结束。分析代码可使用print()函数提供一个系统界面,并使用input()函数选择功能选择功能根据用户选择的功能,通过集合的基本操作分别进行查看已点菜品、添加菜品、删除菜品、清空已点菜品以及退出操作。在查看已点菜品功能中,可通过for循环遍历集合clickedMenu,并通过print()函数打印输出菜品名称;在添加菜品功能中,可使用add()函数将菜品添加到集合clickedMenu中;在删除菜品功能中,应先通过notin判断输入的名称在clickedMenu中是否存在,然后再通过remove()函数删除;在清空菜单功能中,可使用clear()函数清空菜单实现功能使用break跳出循环,退出系统结束代码思路:(1)启动PyCharm,新建Python文件OrderingSystem.Py编写代码(2)首先进行准备工作及界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论