python实现超市进销存管理系统 - 网站

python实现超市进销存管理系统

分类:python · 发布时间:2023-04-24 05:01 · 阅读:8409

这篇文章主要为大家详细介绍了python实现超市进销存管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现超市进销存管理系统的具体代码,供大家参考,具体内容如下

面向对象程序设计

系统包括7种操作,分别是:1.查询所有商品;2.添加商品;3.修改商品;4.删除商品;5.卖出商品;6.汇总;0.退出系统。

定义一个商品类

#定义一个商品类 class Goods:     def __init__(self,name,num,cin,cout):         self.name = name         self.num = num         self.cin  = cin         self.cout = cout     def __str__(self):         state = "已售罄"         if self.num == 0:             return '名称:%s , 数量:%d %s, 进货价格:%.2f ,售出价格:%.2f '%(self.name,self.num,state,self.cin,self.cout)         else:             return '名称:%s , 数量:%d , 进货价格:%.2f ,售出价格:%.2f '%(self.name,self.num,self.cin,self.cout)

定义一个汇总类

#定义一个汇总类 class gGoods:     def __init__(self,name,gnum,gcin,gcout):         self.name = name         self.gnum = gnum         self.gcin = gcin         self.gcout = gcout     def __str__(self):         return '名称:%s , 卖出数量:%d , 进货价格:%.2f ,卖出价格:%.2f '%(self.name,self.gnum,self.gcin,self.gcout)

定义管理商品类

#定义管理商品类 class GoodsManager:     go=[]     js=[]     #构造方法     def init(self):         self.go.append(Goods('牛奶',5,40,60))         self.go.append(Goods('盒饭',5,10,60))         self.js.append(gGoods('菇娘',1,30,60))     #菜单     def Menu(self):         self.init()         print('\"超市进销存管理系统\"菜单:')         print("1.显示所有商品")         print("2.添加新的商品")         print("3.修改商品信息")         print("4.删除商品")         print("5.卖出商品")         print("6.汇总")         print("0.退出")         print("***********************************")         while True:                          SN=int(input("===请输入操作序号:"))                         if SN in [0,1,2,3,4,5,6]:                 if SN == 0:                     print("已经退出")                     break;                 if SN == 1:                     self.Show_all()                 elif SN  == 2:                     self.Add()                 elif SN == 3:                     self.Modify()                 elif SN == 4:                     self.Delete()                 elif SN == 5:                     self.Shop()                 elif SN == 6:                     self.Summary()             else:                 print("输入有误!")     #显示     def Show_all(self):         for goods in self.go:             print (str(goods))     #添加     def Add(self):         goods_name = input("请输入商品名称:")         ret = self.check(goods_name)         if ret != None:             print('商品已经存在')             print('是否增加商品数量:(y/n)')             while True:                 pd = input()                 if pd == 'y':                     goods_num = int(input("请输入商品的数量:"))                     old_goods = Goods(goods_name,goods_num+ret.num,ret.cin,ret.cout)                     self.go.remove(ret)                     self.go.append(old_goods)                     print("增加成功")                     break                 elif pd == 'n':                     print("已经返回")                     break                 else:                     print("输入有误,重新输入:")                      else:             goods_num = int(input("请输入商品的数量:"))             goods_cin = float(input("请输入商品进货价格:"))             goods_cout = float(input("请输入商品出货价格:"))             if goods_num>0 and goods_cin>0 and goods_cout>0:                 new_goods= Goods(goods_name,goods_num,goods_cin,goods_cout)                 self.go.append(new_goods)                 print("添加成功")             else:                 print("小可爱,输入错误!")     #修改     def Modify(self):         goods_name = input("请输入需要修改的商品名称:")         ret = self.check(goods_name)         if ret != None:             print(ret)             goods_name1 = input("请输入修改后商品的名称:")             goods_num = int(input("请输入修改后商品的数量:"))             goods_cin = float(input("请输入修改后商品进货价格:"))             goods_cout = float(input("请输入修改后商品出货价格:"))             old_goods= Goods(goods_name1,goods_num,goods_cin,goods_cout)             self.go.remove(ret)             self.go.append(old_goods)                 print("修改成功")         else:             print("小可爱,没有此商品!")     #检查     def check(self,goods_name):         for goods in self.go:             if goods.name == goods_name:                 return goods         else:             return None     #检查js     def checkjs(self,goods_name):         for goods in self.js:             if goods.name ==goods_name:                 return goods         else:             return None     #删除     def Delete(self):         goods_name = input("请输入需要删除的商品名称:")         ret = self.check(goods_name)         if ret != None:             print(ret)             print('是否删除商品:(y/n)')             while True:                 pd = input()                 if pd == 'y':                     self.go.remove(ret)                     print("删除成功")                     break                 elif pd == 'n':                     print("已经返回")                     break                 else:                     print("输入有误,重新输入:")         else:             print("小可爱,没有此商品!")     #卖出     def Shop(self):         goods_name = input("请输入需要卖出的商品名称:")         ret = self.check(goods_name)         if ret != None:             g_num=int(input("卖出个数:"))             if ret.num-g_num<0:   print("该商品数量不足!请补充") else: old_goods=Goods(ret.name,ret.num-g_num,ret.cin,ret.cout) self.go.remove(ret) self.go.append(old_goods) gret=self.checkjs(goods_name) if none: shop_goods=gGoods(ret.name,g_num,ret.cin*g_num,ret.cout*g_num) self.js.append(shop_goods) ggoods(gret.name,g_num+gret.gnum,gret.gcin+ret.cin*g_num,gret.gcout+ret.cout*g_num) self.js.remove(gret) print("卖出后:",end='' ) goods(ret.name,ret.num-g_num,ret.cin*g_num,ret.cout*g_num) print(old_goods)    print("小可爱,没有此商品!") #汇总当天卖出商品,包括每种销售商品名称、数量、进货总价、销售总价等。 def summary(self): for goods in self.js: print (str(goods)) print("售出的物品进货总价:",end="" x=0 x+=float(goods.gcin) print(x) print("售出的物品销售总价:",end="" y=0 y+=float(goods.gcout) print(y) print("利润:",y-x);```< pre>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持0133技术站。

标签:
python 超市 进销存

相关文章

Python轻松管理与操作文件的技巧分享

在日常开发中,我们经常会遇到需要对文件进行操作的场景,如读写文件、文件夹操作等。本文将为大家介绍一些 Python 中处理文件的实用技巧,让你的工作更高效

pytorch实现梯度下降和反向传播图文详细讲解

这篇文章主要介绍了pytorch实现梯度下降和反向传播,反向传播的目的是计算成本函数C对网络中任意w或b的偏导数。一旦我们有了这些偏导数,我们将通过一些常数α的乘积和该数量相对于成本函数的偏导数来更新网络中的权重和偏差

深入理解pytorch库的dockerfile

这篇文章主要介绍了pytorch库的dockerfile,主要包括dockerfile命令,使用指令的注意点及存在的一些问题,本文给大家介绍的非常详细,需要的朋友可以参考下

Selenium多窗口切换解决方案

本文主要介绍了Selenium多窗口切换解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python自动化办公之定时发送邮件的实现

python中的schedule模块可以使我们方便简单的使用定时任务,即在特定的时间自动的执行一些任务的功能,本文将用这一模块实现邮件自动发送,需要的可以参考一下

返回分类 返回首页