Python初学者案例练习,手把手教你写出一个简易的商品管理系统
首先声名此案例为入门级别的朋友们练手用的,相关知识点为基础语法,循环结构等内容,有一的基础的朋友可围观,也可以飘过。
不废话了,直接先上题目:
为了更好的管理商品信息,准备开发一个商品管理系统。系统需要用户先登录,再进行操作,其中包含以下功能菜单:
0.登录
1.显示商品列表
2.增加商品信息
3.删除商品
4.设置商品折扣
5.修改商品信息
6.退出
项目要求如下:
a. 使用列表嵌套字典的方式保存用户数据(包含用户名,密码,姓名);
b. 使用列表嵌套字典的方式保存商品数据(包含编号,名称,价格,折扣);
c. 编写用户登录的函数,返回登录结果;
d. 循环提示菜单,业务完毕时返回主菜单,退出时回到登陆页面;
e. 将功能菜单中的业务功能各自编写到函数中;
f. 用户选择不同业务编号时,调用已经写好的各种函数。
看完题目,我们直接按要求开始撸代码。
第一步,先把两个列表搞定:
用户数据列表如下:
user1={"用户名":"zmm","密码":"123","姓名":"张明明"}
user2={"用户名":"ldm","密码":"123","姓名":"李大明"}
user3={"用户名":"wxm","密码":"123","姓名":"王小明"}
usersList=[user1,user2,user3]
商品数据列表如下:
p1={"编号":"1001","名称":"苹果","价格":5,"折扣":1}
p2={"编号":"1002","名称":"香蕉","价格":3,"折扣":1}
p3={"编号":"1003","名称":"牛奶","价格":4,"折扣":1}
p4={"编号":"1004","名称":"白菜","价格":1,"折扣":1}
p5={"编号":"1008","名称":"西瓜","价格":3,"折扣":1}
productsList=[p1,p2,p3,p4,p5]
第二步,编写登录函数:
def login():
msg="失败" #先定义一个登录结果的返回值,默认“失败”
while 1==1:#建立一个无限循环
uname=input("请输入用户名:") #让用户输入用户名
upwd=input("请输入密码:") #让用户输入用户密码
for user in usersList: #用for循环来验证用户输入是否有误会:
if uname==user["用户名"] and upwd==user["密码"]: #如果用户名和密码跟用户列表上的数据对应
print("---------验证成功!欢迎你,",user["姓名"],"!")#显示验证成功
msg="成功"#返回登录结果的值为“成功”
break#结束循环
if msg=="失败":#如果返回登录结果的值为“失败”
print("用户名密码错误,请重新输入!")#显示"用户名密码错误,请重新输入!"
continue #循环继续,让用户重新输入
else:
break #其它情况下,同样结束循环
return msg #返回登录结果
第三步,编写显示商品列表函数:
def showProcucts():
print("-编号----名称----价格----折扣-")#编写一个菜单显示的页头
for product in productsList:#用for循环读取商品列表里的数据
print(product["编号"]+"-----"+product["名称"]+"-----"+str(product["价格"])+"-------"+str(product["折扣"]))
#展示读取到的相应数据
print("-----------------------------")#编写一个菜单显示的页尾
第四步,编写增加商品函数:
def addProcuct():
#生成新编号
lista=[] #生成一个列表用于存放所有商品的编号
for product in productsList:#读取商品列表的数据
lista.append(int(product["编号"]))#把原列表的所有编号数据放到lista[]中并转换成整数
newNum=str(max(lista)+1)#生成新的编号就是在原有编号里最大的编号+1
name=input("请输入商品名称:")#让用户输入新的商品名称
price=float(input("请输入商品单价:"))#让用户输入新的商品单价
newProduct={"编号":newNum,"名称":name,"价格":price,"折扣":1}#整理定义新的商品数据
productsList.append(newProduct)#把新的商品数据放到原商品列表中
print("-------商品",name,"添加成功!")#显示添加成功
showProcucts()#调用显示商品列表函数,显示添加成功后的商品列表
第五步,编写删除商品函数:
def delProcuct():
while 1==1:
msg=0 #记录商品是否存在
num=input("请输入要删除的商品编号:")#让用户输入产品编号
for product in productsList:#读取商品列表的数据
if num==product["编号"]:#如果用户输入的商品编号等于列表里的编号
print("---正在删除",product["名称"],"商品...........")
productsList.remove(product) #删除商品
print("----删除成功!")
msg=1#要删除的商品在列表中存在
break#结束循环
if msg==0:#如果产品不存在
print("商品编号不存在!")
choice=int(input("取消请按1,重新输入请按2:"))#让用记选择是否重新输入
if choice==1:
break
else:
continue
else:
showProcucts()#显示商品列表
break
第六步,编写设置折扣函数:
def setDiscout():#建立商品折扣函数
while 1==1:
msg=0 #记录商品是否存在
num=input("请输入要设置折扣的商品编号:")#让用户输入要设置折扣的商品编号
for product in productsList:
if num==product["编号"]:
newDiscount=float(input("请输入新的折扣(0.1-1):"))
product["折扣"]=newDiscount #设置折扣
print("---商品",product["名称"],"折扣已设置成功,",newDiscount*10,"折!")
msg=1
break
if msg==0:
print("商品不存在!")
choice=int(input("取消请按1,重新输入请按2:"))
if choice==1:
break
else:
continue
else:
showProcucts()
break
第七步,编写修改商品价格函数:
def setPrice():
while 1==1:
msg=0 #记录商品是否存在
num=input("请输入要调整价格的商品编号:")
for product in productsList:
if num==product["编号"]:
newPrice=float(input("请输入新的价格:"))
product["价格"]=newPrice #设置价格
print("---商品",product["名称"],"价格已设置成功,",newPrice,"元!")
msg=1
break
if msg==0:
print("商品不存在!")
choice=int(input("取消请按1,重新输入请按2:"))
if choice==1:
break
else:
continue
else:
showProcucts()
break
最后一步,显示主菜单,调用已经写好的业务函数
while 0==0:
# result=login()
# if result=="成功":
if 1==1:
while 2==2:
print("----------------主菜单---------------")
print("---1.显示商品列表")
print("---2.增加商品信息")
print("---3.删除商品")
print("---4.设置商品折扣")
print("---5.修改商品信息")
print("---6.退出")
choice=int(input("请选择业务编号(输入1-6):"))
if choice==1:
showProcucts()
elif choice==2:
addProcuct()
elif choice==3:
delProcuct()
elif choice==4:
setDiscout()
elif choice==5:
setPrice()
elif choice==6:
print("-------------正在退出...")
break
else:
print("没有此功能,请重新选择!")
continue