Python程序设计基础 课件 项目6 函数-超市会员管理系统_第1页
Python程序设计基础 课件 项目6 函数-超市会员管理系统_第2页
Python程序设计基础 课件 项目6 函数-超市会员管理系统_第3页
Python程序设计基础 课件 项目6 函数-超市会员管理系统_第4页
Python程序设计基础 课件 项目6 函数-超市会员管理系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

程序设计基础——超市会员管理系统简单易学易读易维护开源

可移植性

可扩展性

丰富的库

Python目录CONTENTS项目描述01思路分析02函数的基本用法03实现项目04思政导入新冠疫情发生以来,中国政府本着对中国人们和世界人们生命安全和身体健康高度负责的态度,采取最全面、最严格、最彻底的防控举措,同疫情开展坚决斗争。各行各业根据国家疾控中心的指导,制定了疫情防控应急预案,2020年夏季之后,全国疫情全面好转,虽后续还有零星疫情的发生,但始终在可控范围内。2020年中国GDP超百万亿,成为全球唯一实现正增长的国家。函数就相当于疫情防控应急预案,当有疫情发生时,就可以按照预案进行疫情防控,在Python中,当需要重复使用代码时,就可以使用定义和调用函数,提高程序的高质高效。项目描述01一、项目描述本项目主要实现超市会员管理系统,能进行功能菜单显示和会员信息的添加、删除、修改、显示等功能。思路分析02二、思路分析要实现超市会员管理系统,我们需要先搞清楚需要哪些功能。超市会员管理系统负责编辑顾客的信息,适时地更新、查询顾客的资料。主要功能如下:1、新增会员信息。包括会员编号、姓名、性别和联系电话。2、修改会员信息。修改会员姓名、性别和联系电话。3、删除会员信息。4、查询会员信息。根据会员编号、姓名、联系电话进行会员信息查询。5、退出会员管理系统。二、思路分析根据超市会员管理系统功能需求,我们可以将系统设计如下:1、定义一个函数用于输出超市会员管理系统的操作菜单。2、编写超市会员管理系统的主函数,用于调用各个子函数,完成对系统功能的选择,控制整个程序的流程。3、定义一个函数用于添加会员信息功能,包括姓名、性别、手机号等信息,使用字典保存单个会员的信息,并将其添加到会员列表中,在这个列表中保存了所有的会员。4、定义一个函数用于修改会员信息功能,在该函数中,可以调用查询会员信息函数,根据提示输入会员信息,找到对应会员后,进行修改,包括姓名、性别或手机号。5、定义一个函数用于删除会员信息功能,在该函数中,可以调用查询会员信息函数,根据提示输入会员信息,包括姓名或手机号,找到对应会员后,进行删除。6、定义一个函数用于查询会员信息功能,在该函数中,根据提示输入会员信息,包括姓名或手机号,找到对应的会员信息并显示。函数的基本用法033、怎么才能学好Python安全编程?有个商店卖苹果,苹果的单价为5.8元/斤,共有3位顾客前来购买,第1个顾客买了2.3斤,第2个顾客买了3.1斤,第3个顾客买了5.4斤。请你计算每位顾客需要支付多少钱?2、为什么要学习Python?三、函数的基本用法a=5.8first=a*2.3second=a*3.1third=a*5.4print(f'第1位顾客需支付{first}')print(f'第2位顾客需支付{second}')print(f'第3位顾客需支付{third}')运行结果如下:第1位顾客需支付13.339999999999998第2位顾客需支付17.98第3位顾客需支付31.323、怎么才能学好Python安全编程?像这种需要在程序中重复执行同一任务时,可以使用函数来解决。将整块代码中具有独立功能的代码块组织成一个小模块,这样既可以提高编写的效率,提高代码的重用率,又能节省空间,保持代码的一致性,这个小模块就是函数。在Python语言中,函数可以分为以下3类:(1)内置函数。内置函数是系统自带的函数,不需要用户去定义,直接可以使用。(2)系统函数。系统函数也是Python内部自带的函数,只不过它的调用者不是用户,而是系统本身。(3)自定义函数。自定义函数是用户根据实际需要,来自行创建的,具有实现某种功能的函数,使用def关键字自定义函数。2、为什么要学习Python?三、函数的基本用法3、怎么才能学好Python安全编程?1.函数的定义Python中定义函数需要使用保留字def,函数定义的格式如下:def函数名([参数列表]):

函数体

[return返回表达式或值]2、为什么要学习Python?三、函数的基本用法在Python中使用自定义函数,需要遵循以下规则:(1)函数通过def关键字开头,def后面跟的是函数名和圆括号“()”。(2)圆括号里用于定义参数,在定义函数时的参数叫形参,调用函数时的传递的值叫实参。对于有多个参数的,参数之间用逗号“,”隔开。函数可以没有参数,但圆括号不可缺少。(3)圆括号后面必须要加上冒号“:”。接下来的是函数体,需要缩进。(4)函数的第一行语句可以用于存放函数说明。(5)函数的返回值使用return语句来实现。一个函数体中可以有一个或多个return语句,但是一旦执行了第一条return语句,该函数将立即终止。如果没有return语句,函数执行完毕后返回结果为None。defcount(i,price,amount):#定义一个函数count

print(f'第{i}位顾客需支付{price*amount}')3、怎么才能学好Python安全编程?2.函数的调用定义函数之后,就相当于有了一段具有特定功能的代码,但这段代码并不会执行,要想让这些代码能够执行,就需要调用函数。要调用一个函数,需要知道函数的名称和参数。需要注意的是在函数定义之前,Python是不允许调用该函数的。调用函数时,如果传入的参数数量不对,会提示“ValueError”错误。2、为什么要学习Python?三、函数的基本用法defcount(i,price,amount):#定义一个函数countprint(f'第{i}位顾客需支付{price*amount}')count(1,5.8,2.3)#调用count函数,将1,5.8,2.3分别传给参数i,price,amountcount(2,5.8,3.1)count(3,5.8,5.4)运行结果如下:第1位顾客需支付13.339999999999998第2位顾客需支付17.98第3位顾客需支付31.323、怎么才能学好Python安全编程?3.函数的参数Python的函数定义很简单却很灵活,尤其是参数的使用。除了函数的必选参数,还有默认参数、位置参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。(1)必需参数必需参数是指函数要求传入的参数,调用时必须以正确的顺序传入,并且调用时实参的数量必须和定义函数时形参的数量保持一致,否则就会出现错误。2、为什么要学习Python?三、函数的基本用法defcount(i,price,amount):#定义一个函数countprint(f'第{i}位顾客需支付{price*amount}')count(1,5.8,2.3)#调用count函数,将1,5.8,2.3分别传给参数i,price,amountcount(2,5.8,3.1)count(3,5.8,5.4)3、怎么才能学好Python安全编程?(2)默认参数默认参数是指在定义函数时给形参设置了默认值,在调用函数时,如果没有给该参数传递值,则函数就会使用默认值。默认参数的格式如下:def函数名(参数=值)2、为什么要学习Python?三、函数的基本用法defcount(i,price,amount=3.1):#定义一个函数countprint(f'第{i}位顾客需支付{price*amount}')count(1,5.8,2.3)#调用count函数,给amount传值count(2,5.8)#调用count函数,amount使用默认值3.1运行结果如下:第1位顾客需支付13.339999999999998第2位顾客需支付17.98需要注意的是,默认参数的位置必须在必需参数的后面,也就是在声明函数形参时,先声明没有默认值的形参,再声明有默认值的形参,否则Python就会报语法错误。默认参数一定要用不可变对象,如果是可变对象,程序运行就会出现逻辑错误。3、怎么才能学好Python安全编程?(3)关键字参数必需参数和默认参数都属于位置参数,是通过位置从左至右依次进行匹配的,因此对参数的位置和个数都要有严格的要求。Python中还有一种是通过参数名称来匹配的,这就是关键字参数。关键字参数是指如果函数有多个参数,在调用时可以通过参数名来对参数进行传值,这样就不必担心参数的位置顺序了,从而提高了程序的可读性。2、为什么要学习Python?三、函数的基本用法defcount(i,price,amount):#定义一个函数countprint(f'第{i}位顾客需支付{price*amount}')count(i=1,price=5.8,amount=2.3)#调用count函数,按关键字传值count(price=5.8,amount=2.3,i=2)#调用count函数,按关键字传值,不必担心参数的位置运行结果如下:第1位顾客需支付13.339999999999998第2位顾客需支付13.3399999999999983、怎么才能学好Python安全编程?(4)匿名函数函数定义的另一种方法是使用lambda来创建函数。lambda的主体是一个表达式,而不是一个代码块。lambda函数拥有自己的命名空间,并且不能访问自己参数列表之外或全局命名空间中的参数。lambda用来编写简单的函数,而def定义的函数常用来处理更强大的任务。lambda函数的语法结构如下:lambda[参数1[,参数2,…,参数n]]:表达式2、为什么要学习Python?三、函数的基本用法count=lambdai,price,amount:print(f'第{i}位顾客需支付{price*amount}')count(1,5.8,2.3)#调用count函数count=lambdai,price,amount:print(f'第{i}位顾客需支付{price*amount:.2f}')count(2,5.8,2.3)#调用count函数运行结果如下:第1位顾客需支付13.339999999999998第2位顾客需支付13.34实现项目043、怎么才能学好Python安全编程?运行超市会员管理系统,首先将进入主功能菜单选择界面,这里列出了系统的全部功能,用户可以根据需要输入要执行功能对应的数字编号,程序根据用户输入的数字编号,调用不同的函数,进入相应的子功能。具体数字表示的功能如下表所示。2、为什么要学习Python?四、实现项目编号功能0退出系统1添加会员信息,调用insert()函数2查找会员信息,调用search()函数3修改会员信息,调用modify()函数4删除会员信息,调用delete()函数5显示会员信息,调用show()函数表1功能选择菜单所对应的功能序号函数名功能1main()主函数,用于调用各个子函数2menu()功能菜单显示函数,用于显示功能菜单选择界面3insert()添加会员信息4search()查找会员信息5modify()修改会员信息6delete()删除会员信息7show()显示会员信息表2超市会员管理系统定义函数及功能说明3、怎么才能学好Python安全编程?首先需要思考用什么方式来保存会员的详细信息?再用什么方式来保存全部会员?2、为什么要学习Python?四、实现项目通过观察我们可以使用字典来保存会员详细信息,这样在后续使用时,可以通过字典中的键来访问对应的值。例如:dict={'姓名':'张三','性别':'女'},在访问时可以使用dict['性别']来得到值为“女”。为了便于会员的添加、删除等操作,我们可以通过列表来保存每个会员信息,可以通过列表的遍历方便的查询列表元素。例如:list=[{'姓名':'张三','性别':'女'},{'姓名':'李四','性别':'男'}]。这时如果我们要查询列表中是否存在姓名等于李四的会员时可以通过for循环来遍历列表,使用if语句来判断姓名是否等于李四。3、怎么才能学好Python安全编程?1.编写main()函数2、为什么要学习Python?四、实现项目defmain():flag=True#定义一个变量用于标记是否退出系统title='LMT'#定义一个变量用于存放超市名globallist_nem#定义全局变量list_nem,用于存放会员的全部信息list_nem=[]#定义空列表whileflag:opp_num=menu(title)#功能显示菜单,并可以传值超市名ifopp_num==1:insert()#调用insert()函数,添加会员信息elifopp_num==2:search()#调用search()函数,查找会员信息elifopp_num==3:modify()#调用modify()函数,修改会员信息elifopp_num==4:delete()#调用delete()函数,删除会员信息elifopp_num==5:show()#调用show()函数,显示会员信息elifopp_num==0:#退出程序print(f'您已退出{title}超市会员管理系统,感谢您的使用!')flag=False3、怎么才能学好Python安全编程?1.编写main()函数2、为什么要学习Python?四、实现项目创建程序入口,然后调用主函数,代码如下:if__name__=='__main__':main()3、怎么才能学好Python安全编程?2.显示主菜单2、为什么要学习Python?四、实现项目defmenu(title):print(f'''----------欢迎使用{title}超市会员管理系统----------|------------功能菜单-----------|1.添加会员信息2.查找会员信息3.修改会员信息4.删除会员信息5.显示会员信息0.退出系统-------------------------------''')option=int(input('请输入菜单编号:'))returnoption3、怎么才能学好Python安全编程?3.查找会员信息根据前面的分析,会员信息是以字典的方式保存在列表中,要查找会员信息,也就要通过遍历列表,将列表中的字典元素与会员卡号或联系电话进行比对。这里会出现以下3种情况:1、列表中没有任何元素,也就是还没添加任何会员的空列表;2、通过遍历会员列表,找到对应的元素;3、遍历完会员列表,扔未发现符合查找条件的会员信息。2、为什么要学习Python?四、实现项目3、怎么才能学好Python安全编程?3.查找会员信息2、为什么要学习Python?四、实现项目defsearch():kahao=input('请输入会员卡号:')phone=input('请输入联系电话:')#判断list_nem列表中是否存在会员,如果不存在,直接返回标记值、会员卡号和联系电话。#如果存在会员,则判断输入的卡号或联系电话是否存在于list_nem列表中。#如果输入的卡号或联系电话存在,则显示该会员存在!并显示会员信息。否则,则调用insert()函数,添加会员。iflen(list_nem)==0:return0,kahao,phone#如果会员列表中没有会员信息,则返回标记值、会员卡号、联系电话else:foriinlist_nem:#遍历会员列表ifkahao==i['卡号']orphone==i['联系电话']:#判断卡号或联系电话是否存在print('该会员存在:')print(i)#显示该会员信息return1,list_nem.index(i)#返回标记值、列表中该元素的索引值breakelse:return0,kahao,phone#如果找不到该会员信息,则返回标记值、会员卡号、联系电话3、怎么才能学好Python安全编程?4.添加会员信息2、为什么要学习Python?四、实现项目definsert():i_s_result=search()#调用search()函数,查找会员信息ifi_s_result[0]==0:#通过search()函数返回值,判断该会员是否存在,不存在,则添加会员信息ifi_s_result[1]=='':#如果查找会员信息时没有输入卡号,则输入卡号kahao=input('请输入会员卡号:')else:#如果查找会员信息时有输入卡号,则把输入的卡号赋值给变量kahaokahao=i_s_result[1]ifi_s_result[2]=='':#如果查找会员信息时没有输入联系电话,则输入联系电话phone=input('请输入联系电话:')else:#如果查找会员信息时有输入联系电话,则把输入的卡号赋值给变量phonephone=i_s_result[2]name=input('请输入会员姓名:')sex=input('请输入会员性别:')birthday=input('请输入出生日期:')3、怎么才能学好Python安全编程?4.添加会员信息2、为什么要学习Python?四、实现项目balance=float(input('请输入充值金额:'))vip_level=input('请输入会员级别:')dict={}#定义一个字典用于存放每个会员的详细信息dict['卡号']=kahaodict['姓名']=namedict['性别']=sexdict['出生日期']=birthdaydict['联系电话']=phonedict['余额']=balancedict['会员级别']=vip_levellist_nem.append(dict)#将每个会员的详细信息作为一个元素添加到list_nem列表中print(dict)ask=input('是否继续添加会员:(Y/N)')ifask=='Y'orask=='y':insert()3、怎么才能学好Python安全编程?5.修改会员信息修改会员信息的思路与添加会员信息基本相同,通过调用search()函数,判断该会员是否存在。如果存在,则返回标记值和列表中该元素的索引值。modify()函数可以通过索引值找到会员列表中对应的字典元素,通过修改字典元素的值实现会员信息的修改。2、为什么要学习Python?四、实现项目defmodify():m_s_result=search()ifm_s_result[0]==1:#通过search()函数返回值,判断该会员是否存在,存在,则修改会员信息i_index=m_s_result[1]#通过search()函数返回值中的列表索引值赋值给变量i_indexask=input('是否修改该会员信息(Y/N):')ifask=='Y'orask=='y':name=input('请输入会员姓名:')orlist_nem[i_index]['姓名']#如果没有输入时,则使用列表字典元素中对应键的值sex=input('请输入会员性别:')orlist_nem[i_index]['性别']birthday=input('请输入出生日期:')orlist_nem[i_index]['出生日期']3、怎么才能学好Python安全编程?5.修改会员信息修改会员信息的思路与添加会员信息基本相同,通过调用search()函数,判断该会员是否存在。如果存在,则返回标记值和列表中该元素的索引值。modify()函数可以通过索引值找到会员列表中对应的字典元素,通过修改字典元素的值实现会员信息的修改。2、为什么要学习Python?四、实现项目balance=input('请输入充值金额:')orlist_nem[i_index]['余额']vip_level=input('请输入会员级别:')orlist_nem[i_index]['会员级别']list_nem[i_index]['姓名']=namelist_nem[i_index]['性别']=sexlist_nem[i_index]['出生日期']=birthdaylist_nem[i_index]['余额']=float(b

温馨提示

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

评论

0/150

提交评论