python实现超市商品销售管理系统实现超市商品销售管理系统
主要为大家详细介绍了python实现超市商品销售管理系统,文中示例代码介绍的非常详细,具有一定的参考价
值,感兴趣的小伙伴们可以参考一下
需求分析:需求分析:超市销售管理系统功能
1.欢迎用户使用超市销售管理系统,提示用户登录,如果是用户名为admin,密码为123456,则管理员身份。 如果是其他用
户(可以自己设置也可随意接收),则是顾客身份。
2.如果用户是管理员身份,提示用户输入编号,选择对应功能
输入编号"1":显示商品的信息 (编号 商品名称 价格)
输入编号"2":添加商品信息 (输入编号,商品名称,价格)
输入编号"3":删除商品信息 (输入编号,删除对应的名称和价格)
输入编号"4":退出系统功能
3.如果用户是顾客身份,只有一个功能:购买商品,
展示所有商品信息,用户循环输入商品编号和购买数量,输入n时,退出系统,并提示用户总价格。
涉及到的知识点涉及到的知识点
编程语言变量,语句,函数
面向对象思想结合编程语言进行类的封装与方法的调用
常见数据容器列表与字典的使用
程序中对于文件的操作
因为涉及对于文件的读取和写入,建议大家在程序开始前,先确定文件内容的格式,有效合理的表达商品内容,我采取以下格
式,在项目工程目录下创建shop.txt文件夹
逻辑分析:逻辑分析:
增删查买都是对于商品的操作,商品信息包括编号名称和价格,可以将信息封装到对象当中,可创建对象所属的类Goods。然
后对于增删等操作应该属于管理系统的功能,所以将相关功能封装到ShopManager类当中。在进入系统时,应该首先查看之
前是否有存储信息,所以要读取文件写入到内存中,增删操作都是通过编号作为索引,所以可以选择字典dict数据结构作为内
存存储容器,然后增删都是对于字典的操作,当系统退出时,在将数据更新写入到文件中,避免恶意修改文件,恶意提交。
功能实现代码:功能实现代码:
首先创建表达商品对象的Goods类
class Goods(object):
def __init__(self,id,name,price):
self.id = id
self.name = name
self.price = price
def __str__(self):
info = "编号:%s 商品名称:%s 价格:%d"%(self.id,self.name,self.price)
return info
将对于商品操作的函数放到ShopManager类当中,功能包括管理员以及普通用户的,在登录后进行分流选择。
class ShopManager(object):
def __init__(self,path):
# path:表示读取文件的路径 shopdic:表示存放内存的容器
self.path = path
self.shopdic = self.readFileToDic()
def readFileToDic(self):
# 读取文件,写入到字典中
f = open(self.path, 'r', encoding='utf-8')