python實(shí)現(xiàn)超市進(jìn)銷存管理系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)超市進(jìn)銷存管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
面向?qū)ο蟪绦蛟O(shè)計
系統(tǒng)包括7種操作,分別是:1.查詢所有商品;2.添加商品;3.修改商品;4.刪除商品;5.賣出商品;6.匯總;0.退出系統(tǒng)。
定義一個商品類
#定義一個商品類 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 , 數(shù)量:%d %s, 進(jìn)貨價格:%.2f ,售出價格:%.2f '%(self.name,self.num,state,self.cin,self.cout) ? ? ? ? else: ? ? ? ? ? ? return '名稱:%s , 數(shù)量:%d , 進(jìn)貨價格:%.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 , 賣出數(shù)量:%d , 進(jìn)貨價格:%.2f ,賣出價格:%.2f '%(self.name,self.gnum,self.gcin,self.gcout)
定義管理商品類
#定義管理商品類 class GoodsManager: ? ? go=[] ? ? js=[] ? ? #構(gòu)造方法 ? ? 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('\"超市進(jìn)銷存管理系統(tǒng)\"菜單:') ? ? ? ? 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("已經(jīng)退出") ? ? ? ? ? ? ? ? ? ? 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('商品已經(jīng)存在') ? ? ? ? ? ? print('是否增加商品數(shù)量:(y/n)') ? ? ? ? ? ? while True: ? ? ? ? ? ? ? ? pd = input() ? ? ? ? ? ? ? ? if pd == 'y': ? ? ? ? ? ? ? ? ? ? goods_num = int(input("請輸入商品的數(shù)量:")) ? ? ? ? ? ? ? ? ? ? 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("已經(jīng)返回") ? ? ? ? ? ? ? ? ? ? break ? ? ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? ? ? print("輸入有誤,重新輸入:") ? ? ? ? ? ?? ? ? ? ? else: ? ? ? ? ? ? goods_num = int(input("請輸入商品的數(shù)量:")) ? ? ? ? ? ? goods_cin = float(input("請輸入商品進(jìn)貨價格:")) ? ? ? ? ? ? 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("請輸入修改后商品的數(shù)量:")) ? ? ? ? ? ? goods_cin = float(input("請輸入修改后商品進(jìn)貨價格:")) ? ? ? ? ? ? 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("已經(jīng)返回") ? ? ? ? ? ? ? ? ? ? break ? ? ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? ? ? print("輸入有誤,重新輸入:") ? ? ? ? else: ? ? ? ? ? ? print("小可愛,沒有此商品!") ? ? #賣出 ? ? def Shop(self): ? ? ? ? goods_name = input("請輸入需要賣出的商品名稱:") ? ? ? ? ret = self.check(goods_name) ? ? ? ? if ret != None: ? ? ? ? ? ? g_num=int(input("賣出個數(shù):")) ? ? ? ? ? ? if ret.num-g_num<0: ? ? ? ? ? ? ? ? print("該商品數(shù)量不足!請補(bǔ)充") ? ? ? ? ? ? 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 gret == None: ? ? ? ? ? ? ? ? ? ? shop_goods = gGoods(ret.name,g_num,ret.cin*g_num,ret.cout*g_num) ? ? ? ? ? ? ? ? ? ? self.js.append(shop_goods) ? ? ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? ? ? 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) ? ? ? ? ? ? ? ? ? ? self.js.append(shop_goods) ? ? ? ? ? ? ? ? print("賣出后:",end=' ') ? ? ? ? ? ? ? ? old_goods= Goods(ret.name,ret.num-g_num,ret.cin*g_num,ret.cout*g_num) ? ? ? ? ? ? ? ? print(old_goods) ? ? ? ? ? ? ? ?? ? ? ? ? else: ? ? ? ? ? ? print("小可愛,沒有此商品!") ? ? #匯總當(dāng)天賣出商品,包括每種銷售商品名稱、數(shù)量、進(jìn)貨總價、銷售總價等。 ? ? def Summary(self): ? ? ? ? for goods in self.js: ? ? ? ? ? ? print (str(goods)) ? ? ? ? print("售出的物品進(jìn)貨總價:",end="") ? ? ? ? x=0 ? ? ? ? for goods in self.js: ? ? ? ? ? ? x+=float(goods.gcin) ? ? ? ? print(x) ? ? ? ? print("售出的物品銷售總價:",end="") ? ? ? ? y=0 ? ? ? ? for goods in self.js: ? ? ? ? ? ? y+=float(goods.gcout) ? ? ? ? print(y) ? ? ? ? print("利潤:",y-x);```
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python內(nèi)置函數(shù)delattr的具體用法
本篇文章主要介紹了Python內(nèi)置函數(shù)delattr的具體用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11OpenCV-Python實(shí)現(xiàn)人臉磨皮算法
人臉磨皮是最基礎(chǔ)的人臉美顏效果。本文介紹了OpenCV-Python實(shí)現(xiàn)人臉磨皮算法,主要包括圖像濾波,圖像融合和圖像銳化,感興趣的可以了解一下2021-06-06使用python實(shí)現(xiàn)數(shù)據(jù)篩查
一般數(shù)據(jù)篩查可以通過Python中的pandas庫來實(shí)現(xiàn),下面小編就來為大家介紹一下Python如何利用pandas實(shí)現(xiàn)數(shù)據(jù)篩查,感興趣的小伙伴可以一起學(xué)習(xí)一下2023-10-10Python實(shí)現(xiàn)讀取并寫入Excel文件過程解析
這篇文章主要介紹了Python實(shí)現(xiàn)讀取并寫入Excel文件過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05python使用pip成功導(dǎo)入庫后還是報錯的解決方法(針對vscode)
最近在學(xué)爬蟲,但在使用Scrapy包時,在終端通過pip裝好包以后,在pycharm中導(dǎo)入包時,依然會報錯,下面這篇文章主要給大家介紹了關(guān)于python使用pip成功導(dǎo)入庫后還是報錯的解決方法,需要的朋友可以參考下2022-07-07python并發(fā)編程多進(jìn)程之守護(hù)進(jìn)程原理解析
這篇文章主要介紹了python并發(fā)編程多進(jìn)程之守護(hù)進(jìn)程原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08