本文实例与大家分享并参考了python超市商品销售管理系统的具体代码,具体内容如下
需求分析:超市销售管理系统的功能
1 .欢迎使用超市销售管理系统,提醒用户登录。 用户名为admin,密码为123456时,为管理员身份。 对于其他用户(可以自己设置或自由接收),则为客户id。
2 .如果用户是管理员,则提示用户输入编号,然后选择相应的功能
输入编号'1':显示商品的信息(编号、商品名、价格)
输入编号'2':添加商品信息(输入编号、商品名、价格)
输入编号'3':删除商品信息(输入编号,删除对应的名称和价格)。
输入编号'4':退出系统功能
3 .用户为客户时,只有一个功能。 购买商品
显示所有商品信息,用户循环输入商品编号和购买数量,输入n退出系统,向用户提示总价格。
相关知识点
编程语言变量、语句和函数
用面向对象思想结合编程语言封装类和调用方法
使用常用数据容器列表和词典
对文件使用axdhb
因为涉及文件的读取和写入,所以在开始程序之前,建议确定文件内容的格式,有效且合理地表现商品的内容。 我按以下格式在项目工程目录下创建shop.txt文件夹
逻辑分析:
增持都是对商品的操作,商品信息包含号码名称和价格,可以将信息封装到对象中,可以创建对象所属的类Goods。 并且,因为追加删除等操作应该是管理系统的功能,所以将相关的功能封装到ShopManager类中。 进入系统时,应该首先检查以前是否有保存信息,所以读取文件并写入内存,所有添加删除操作都通过编号进行索引,可以选择词典dict数据结构作为内存的保存容器。 而且添加和删除都是对词典的操作,在系统退出时,可以将数据更新写入文件,避免恶意修改文件,恶意提交。
功能实现代码:
首先,创建一个表示商品对象的Goods类
类goods (对象) :
def_init_(self,id,name,price ) :
self.id=id
self.name=name
self.price=price
def __str__(self ) :
info='编号:%st商品名:%stt价格:%d'%(self.id,self.name,self.price ) )。
返回信息
将商品操作的函数放入ShopManager类中,功能包括管理员和普通用户的,登录后进行分流选择。
classshopmanager(object ) :
def __init__(self,path ) :
# path:表示读取文件的路径。 shopdic :表示存储内存的容器
self.path=path
自. shop DIC=自. readfiletodic (
efreadfiletodic (自) :
#读取文件,写入词典
f=open(self.path,' r ',encoding='utf-8 ' )
clist=f.readlines (
f.close () )
索引=0
shopdic={}
whileindexLen(clist ) :
#分割各行的字符串,保存到新的列表中
CT list=clist [ index ].replace ('n ','').split )|' )
#将每行的内容存储在一个对象中
good=Goods(CTlist[0],ctlist[1],int ) ctlist[1] )
#将对置保存到收藏中
shopdic[good.id]=good
索引=索引1
返回shop DIC
定义内容文件(自) :
#将存储器内的信息写入文件
str1=' '
for key in self.shopdic.keys () :
good=self.shopdic[key]
) ) )。
str1=str1 ele
f=open(self.path,' w ',encoding='utf-8 ' )
是f.write(str1)
f.close () )
efaddGoods(self ) :
#如何添加商品
id=input ('请输入附件商品编号:gt
;")if self.shopdic.get(id):
print("商品编号已存在,请重新选择!")
return
name = input("请输入添加商品名称:>")
price = int(input("请输入添加商品价格:>"))
good = Goods(id,name,price)
self.shopdic[id] = good
print("添加成功!")
def deleteGoods(self):
# 删除商品的方法
id = input("请输入删除商品编号:>")
if self.shopdic.get(id):
del self.shopdic[id]
print("删除成功!")
else:
print("商品编号不存在!")
def showGoods(self):
# 展示所有商品信息
print("="*40)
for key in self.shopdic.keys():
good = self.shopdic[key]
print(good)
print("="*40)
def adminWork(self):
info = """
==========欢迎进入好海哦购物商场==========
输入功能编号,您可以选择以下功能:
输入“1”:显示商品的信息
输入“2”:添加商品的信息
输入“3”:删除商品的信息
输入“4”:退出系统功能
==========================================
"""
print(info)
while True:
code = input("请输入功能编号:>")
if code == "1":
self.showGoods()
elif code == "2":
self.addGoods()
elif code == "3":
self.deleteGoods()
elif code == "4":
print("感谢您的使用,正在退出系统!!")
self.writeContentFile()
break
else:
print("输入编号有误,请重新输入!!")
def userWork(self):
print(" ==============欢迎进入好海哦购物商场==============")
print("您可输入编号和购买数量选购商品,输入编号为n则结账")
self.showGoods()
total = 0
while True:
id = input("请输入购买商品编号:>")
if id == "n":
print("本次购买商品共消费%d元,感谢您的光临!"%(total))
break
if self.shopdic.get(id):
good = self.shopdic[id]
num = int(input("请输入购买数量:>"))
total = total+good.price*num
else:
print("输入商品编号有误,请核对后重新输入!")
def login(self):
# 登录功能
print("==========欢迎登录好海哦购物商场==========")
uname = input("请输入用户名:>")
password = input("请输入密码:>")
if uname == "admin":
if password == "123456":
print("欢迎您,admin管理员")
self.adminWork()
else:
print("管理员密码错误,登录失败!")
else:
print("欢迎你,%s用户"%(uname))
#执行用户的购买功能
self.userWork()
最后我们可在main语句中,调用登录方法,会自动选择相关功能。
if __name__ == '__main__':
shopManage = ShopManager("shop.txt")
shopManage.login()
上述代码运行后,会实现的效果为:
以上项目案例将学习内容进行了统一整理和综合,相信同学们顺利理解和敲出这部分代码。
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。