国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

商品信息管理系統(tǒng)(Python)完整版

這篇具有很好參考價(jià)值的文章主要介紹了商品信息管理系統(tǒng)(Python)完整版。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

功能模塊:

實(shí)現(xiàn)思路:

運(yùn)行功能演示:

具體實(shí)現(xiàn)過程:

定義商品類:

定義商品管理類

定義顯示商品信息函數(shù)

輸入銷量函數(shù):

添加商品信息:

刪除商品信息

修改商品信息

導(dǎo)入商品信息

導(dǎo)出商品信息

求商品平均銷量

求商品最高銷量

求商品最低銷量

最后定義菜單函數(shù)和主函數(shù):

完整代碼:


功能模塊:

商品基本信息管理和商品銷量統(tǒng)計(jì)。

基本信息管理模塊的主要功能有商品基本信息的添加、刪除、修改、顯示和數(shù)據(jù)的導(dǎo)入導(dǎo)出

商品銷量統(tǒng)計(jì)管理模塊的主要功能有統(tǒng)計(jì)商品的最高銷量、最低銷量和平均銷量。

商品信息管理系統(tǒng)(Python)完整版

實(shí)現(xiàn)思路:

  1. 設(shè)計(jì)一個(gè)商品類,包含商品編號(hào)、名稱、一季度銷量、二季度銷量和三季度銷量等數(shù)據(jù)成員。
  2. 引入OS模塊,用于導(dǎo)入導(dǎo)出路徑文件信息
  3. 設(shè)計(jì)一個(gè)商品管理類,用于定義各個(gè)模塊的具體功能函數(shù)。
  4. 設(shè)計(jì)一個(gè)主菜單,兩個(gè)子菜單,分別管理商品基本信息和銷量信息

運(yùn)行功能演示:

商品信息管理系統(tǒng)啟動(dòng)后,首先進(jìn)入系統(tǒng)主界面,等待用戶輸入命令選擇相應(yīng)的功能。

商品信息管理系統(tǒng)(Python)完整版

如果用戶輸入“info”命令,則進(jìn)入商品基本信息管理子功能模塊。

在商品基本信息管理界面,用戶通過輸入相應(yīng)的命令進(jìn)行商品基本信息的增、刪、改、顯示等操作。

商品信息管理系統(tǒng)(Python)完整版

添加商品信息

商品信息管理系統(tǒng)(Python)完整版

刪除商品信息

商品信息管理系統(tǒng)(Python)完整版

修改商品信息

商品信息管理系統(tǒng)(Python)完整版

?顯示商品信息

商品信息管理系統(tǒng)(Python)完整版

如果用戶輸入“sale”命令,則進(jìn)入商品銷量管理子功能模塊。

在商品銷量管理界面用戶可選擇相應(yīng)的功能進(jìn)行銷量處理。

商品信息管理系統(tǒng)(Python)完整版

平均銷量:

商品信息管理系統(tǒng)(Python)完整版

最高銷量:

商品信息管理系統(tǒng)(Python)完整版

最低銷量:

商品信息管理系統(tǒng)(Python)完整版

具體實(shí)現(xiàn)過程:

定義商品類:

class Goods:
    def __init__(self,no,name,first=0,second=0,third=0):
        self.no = no
        self.name = name
        self.first = int(first)
        self.second = int(second)
        self.third = int(third)     

定義商品管理類

class GoodsList:
    def __init__(self):
        self.gdslist = []

定義顯示商品信息函數(shù)

在商品管理類下面定義顯示商品信息函數(shù):文章來源地址http://www.zghlxwxcb.cn/news/detail-473290.html

  def show(self):
        #顯示信息
        print('{}\t{}\t{}\t{}\t{}'
              .format('編號(hào)','名稱','一季度','二季度','三季度'))
        for gd in self.gdslist:            
            print('{}\t{}\t{}\t{}\t{}'
              .format(gd.no,gd.name,gd.first,gd.second,gd.third))

輸入銷量函數(shù):

  def __enterSale(self,message):
        #銷量輸入
        while True:
            try:
                sale = input(message)
                if 0 <= int(sale) <= 10000:
                    break
                else:
                    print("輸入錯(cuò)誤,應(yīng)在0到10000之間")
            except:
                print("輸入錯(cuò)誤,應(yīng)在0到10000之間")
        return sale 
    def __exists(self,no):
        #判斷編號(hào)是否存在
        for gd in self.gdslist:
            if gd.no == no:
                return True
        else:
            return False

添加商品信息:

def insert(self):
        #添加信息
        while True:
            no = input('編號(hào):')
            if self.__exists(no):
                print('該編號(hào)已存在')
            else:
                name = input('名稱:')
                first = self.__enterSale('一季度:')
                second = self.__enterSale('二季度:')
                third = self.__enterSale('三季度:')
                gd = Goods(no,name,first,second,third)
                self.gdslist.append(gd)
            choice = input('繼續(xù)添加(y/n)?').lower()
            if choice == 'n':
                break

刪除商品信息

   def delete(self):
        #刪除學(xué)生信息
        while True:
            no = input('請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):')                
            for stu in self.stulist[::]:
                if stu.no == no:
                    self.stulist.remove(stu)
                    print('刪除成功')
                    break
            else:
                print('該學(xué)號(hào)不存在')
            choice = input('繼續(xù)刪除(y/n)?').lower()
            if choice == 'n':
                break

修改商品信息

 def delete(self):
        #刪除信息
        while True:
            no = input('請(qǐng)輸入要?jiǎng)h除的商品編號(hào):')                
            for gd in self.gdslist[::]:
                if gd.no == no:
                    self.gdslist.remove(gd)
                    print('刪除成功')
                    break
            else:
                print('該編號(hào)不存在')
            choice = input('繼續(xù)刪除(y/n)?').lower()
            if choice == 'n':
                break

導(dǎo)入商品信息

   def load(self,fn):
        #導(dǎo)入信息
        if os.path.exists(fn):
            try:
                with open(fn,'r',encoding = 'utf-8') as fp:
                    while True:
                        fs = fp.readline().strip('\n')
                        if not fs:
                            break
                        else:
                            gd = Goods(*fs.split(','))
                            if self.__exists(gd.no):
                                print('該編號(hào)已存在')
                            else:
                                self.gdslist.append(gd)
                print('導(dǎo)入完畢')
            except:
                print('error...')
        else:
            print('要導(dǎo)入的文件不存在')
        

導(dǎo)出商品信息

    def save(self,fn):
        #導(dǎo)出信息
        with open(fn,'w',encoding = 'utf-8') as fp:
            for gd in self.gdslist:
                fp.write(gd.no + ',')
                fp.write(gd.name + ',')
                fp.write(str(gd.first) + ',')
                fp.write(str(gd.second) + ',')                    
                fp.write(str(gd.third) + '\n')                    
            print("導(dǎo)出完畢")

求商品平均銷量

   def sale_avg(self):
        #求平均銷量
        length = len(self.gdslist)
        if length > 0:
            first_avg = sum([gd.first for gd in self.gdslist])/length
            second_avg = sum([gd.second for gd in self.gdslist])/length
            third_avg = sum([gd.third for gd in self.gdslist])/length
            print('一季度平均銷量是:%.2f'%first_avg)
            print('二季度平均銷量是:%.2f'%second_avg)
            print('三季度平均銷量是:%.2f'%third_avg)
        else:
            print('尚沒有商品銷量...')

求商品最高銷量

   def sale_max(self):
        #求最高
        if len(self.gdslist) > 0:
            first_max = max([gd.first for gd in self.gdslist])
            second_max = max([gd.second for gd in self.gdslist])
            third_max = max([gd.third for gd in self.gdslist])
            print('一季度最高銷量是:%d'%first_max)
            print('二季度最高銷量是:%d'%second_max)
            print('三季度最高銷量是:%d'%third_max)
        else:
            print('尚沒有商品銷量...')

求商品最低銷量

    def sale_min(self):
        #求最低
        if len(self.gdslist) > 0:
            first_min = min([gd.first for gd in self.gdslist])
            second_min = min([gd.second for gd in self.gdslist])
            third_min = min([gd.third for gd in self.gdslist])
            print('一季度最低銷量是:%d'%first_min)
            print('二季度最低銷量是:%d'%second_min)
            print('三季度最低銷量是:%d'%third_min)
        else:
            print('尚沒有商品銷量...')

最后定義菜單函數(shù)和主函數(shù):

def infoprocess(self):
        #基本信息管理
        print('商品基本信息管理'.center(20,'-'))
        print('load----------導(dǎo)入商品信息')
        print('insert--------添加商品信息')
        print('delete--------刪除商品信息')
        print('update--------修改商品信息')
        print('show----------顯示商品信息')
        print('save----------導(dǎo)出商品信息')
        print('return--------返回')
        print('-'*28)
        while True:
            s = input('info>').strip().lower()
            if s == 'load':
                fn = input('請(qǐng)輸入要導(dǎo)入的文件名:')
                self.load(fn)
            elif s == 'show':
                self.show()
            elif s == 'insert':
                self.insert()
            elif s == 'delete':
                self.delete()
            elif s == 'update':
                self.update()
            elif s == 'save':
                fn = input('請(qǐng)輸入要導(dǎo)出的文件名:')
                self.save(fn)
            elif s =='return':
                break
            else:
                print('輸入錯(cuò)誤')
    
    def saleprocess(self):
        #銷量統(tǒng)計(jì)
        print('商品銷量統(tǒng)計(jì)'.center(24,'='))
        print('avg    --------平均銷量')
        print('max    --------最高銷量')
        print('min    --------最低銷量')        
        print('return --------返回')
        print(''.center(30,'='))
        while True:
            s = input('sale>').strip().lower()
            if s == 'avg':                
                self.sale_avg()
            elif s == 'max':                
                self.sale_max()
            elif s == 'min':                
                self.sale_min()
            elif s == 'return':
                break
            else:
                print('輸入錯(cuò)誤')
                
    def main(self):
        #主控函數(shù)               
        while True:
            print('商品信息管理系統(tǒng)V1.0'.center(24,'='))
            print('info  --------商品基本信息管理')
            print('sale  --------商品銷量統(tǒng)計(jì)')
            print('exit  --------退出系統(tǒng)')
            print(''.center(32,'='))
            s = input('main>').strip().lower()
            if s == 'info':
                self.infoprocess()
            elif s == 'sale':
                self.saleprocess()
            elif s == 'exit':
                break
            else:
                print('輸入錯(cuò)誤')   
        

if __name__ == '__main__':
    gds = GoodsList()
    gds.main()

完整代碼:

'''
導(dǎo)入導(dǎo)出文件的編碼是utf-8
'''
import os

class Goods:
    def __init__(self,no,name,first=0,second=0,third=0):
        self.no = no
        self.name = name
        self.first = int(first)
        self.second = int(second)
        self.third = int(third)        
    
class GoodsList:
    def __init__(self):
        self.gdslist = []

    def show(self):
        #顯示信息
        print('{}\t{}\t{}\t{}\t{}'
              .format('編號(hào)','名稱','一季度','二季度','三季度'))
        for gd in self.gdslist:            
            print('{}\t{}\t{}\t{}\t{}'
              .format(gd.no,gd.name,gd.first,gd.second,gd.third))
            
    def __enterSale(self,message):
        #銷量輸入
        while True:
            try:
                sale = input(message)
                if 0 <= int(sale) <= 10000:
                    break
                else:
                    print("輸入錯(cuò)誤,應(yīng)在0到10000之間")
            except:
                print("輸入錯(cuò)誤,應(yīng)在0到10000之間")
        return sale 

    def __exists(self,no):
        #判斷編號(hào)是否存在
        for gd in self.gdslist:
            if gd.no == no:
                return True
        else:
            return False
        
    def insert(self):
        #添加信息
        while True:
            no = input('編號(hào):')
            if self.__exists(no):
                print('該編號(hào)已存在')
            else:
                name = input('名稱:')
                first = self.__enterSale('一季度:')
                second = self.__enterSale('二季度:')
                third = self.__enterSale('三季度:')
                gd = Goods(no,name,first,second,third)
                self.gdslist.append(gd)
            choice = input('繼續(xù)添加(y/n)?').lower()
            if choice == 'n':
                break


    def delete(self):
        #刪除信息
        while True:
            no = input('請(qǐng)輸入要?jiǎng)h除的商品編號(hào):')                
            for gd in self.gdslist[::]:
                if gd.no == no:
                    self.gdslist.remove(gd)
                    print('刪除成功')
                    break
            else:
                print('該編號(hào)不存在')
            choice = input('繼續(xù)刪除(y/n)?').lower()
            if choice == 'n':
                break


    def update(self):
        #修改信息
        while True:
            no = input('請(qǐng)輸入要修改的商品編號(hào):')
            if self.__exists(no):
                for gd in self.gdslist:
                    if gd.no == no:
                        gd.name = input('名稱:')
                        gd.salary = int(self.__enterSale('一季度:'))
                        gd.bonus = int(self.__enterSale('二季度:'))
                        gd.tax = int(self.__enterSale('三季度:'))
                        print('修改成功')
                        break
            else:
                print('該編號(hào)不存在')
            choice = input('繼續(xù)修改(y/n)?').lower()
            if choice == 'n':
                break

    def load(self,fn):
        #導(dǎo)入信息
        if os.path.exists(fn):
            try:
                with open(fn,'r',encoding = 'utf-8') as fp:
                    while True:
                        fs = fp.readline().strip('\n')
                        if not fs:
                            break
                        else:
                            gd = Goods(*fs.split(','))
                            if self.__exists(gd.no):
                                print('該編號(hào)已存在')
                            else:
                                self.gdslist.append(gd)
                print('導(dǎo)入完畢')
            except:
                print('error...')
        else:
            print('要導(dǎo)入的文件不存在')
        

    def save(self,fn):
        #導(dǎo)出信息
        with open(fn,'w',encoding = 'utf-8') as fp:
            for gd in self.gdslist:
                fp.write(gd.no + ',')
                fp.write(gd.name + ',')
                fp.write(str(gd.first) + ',')
                fp.write(str(gd.second) + ',')                    
                fp.write(str(gd.third) + '\n')                    
            print("導(dǎo)出完畢")

    def sale_avg(self):
        #求平均銷量
        length = len(self.gdslist)
        if length > 0:
            first_avg = sum([gd.first for gd in self.gdslist])/length
            second_avg = sum([gd.second for gd in self.gdslist])/length
            third_avg = sum([gd.third for gd in self.gdslist])/length
            print('一季度平均銷量是:%.2f'%first_avg)
            print('二季度平均銷量是:%.2f'%second_avg)
            print('三季度平均銷量是:%.2f'%third_avg)
        else:
            print('尚沒有商品銷量...')

    def sale_max(self):
        #求最高
        if len(self.gdslist) > 0:
            first_max = max([gd.first for gd in self.gdslist])
            second_max = max([gd.second for gd in self.gdslist])
            third_max = max([gd.third for gd in self.gdslist])
            print('一季度最高銷量是:%d'%first_max)
            print('二季度最高銷量是:%d'%second_max)
            print('三季度最高銷量是:%d'%third_max)
        else:
            print('尚沒有商品銷量...')

    def sale_min(self):
        #求最低
        if len(self.gdslist) > 0:
            first_min = min([gd.first for gd in self.gdslist])
            second_min = min([gd.second for gd in self.gdslist])
            third_min = min([gd.third for gd in self.gdslist])
            print('一季度最低銷量是:%d'%first_min)
            print('二季度最低銷量是:%d'%second_min)
            print('三季度最低銷量是:%d'%third_min)
        else:
            print('尚沒有商品銷量...')

    def infoprocess(self):
        #基本信息管理
        print('商品基本信息管理'.center(20,'-'))
        print('load----------導(dǎo)入商品信息')
        print('insert--------添加商品信息')
        print('delete--------刪除商品信息')
        print('update--------修改商品信息')
        print('show----------顯示商品信息')
        print('save----------導(dǎo)出商品信息')
        print('return--------返回')
        print('-'*28)
        while True:
            s = input('info>').strip().lower()
            if s == 'load':
                fn = input('請(qǐng)輸入要導(dǎo)入的文件名:')
                self.load(fn)
            elif s == 'show':
                self.show()
            elif s == 'insert':
                self.insert()
            elif s == 'delete':
                self.delete()
            elif s == 'update':
                self.update()
            elif s == 'save':
                fn = input('請(qǐng)輸入要導(dǎo)出的文件名:')
                self.save(fn)
            elif s =='return':
                break
            else:
                print('輸入錯(cuò)誤')
    
    def saleprocess(self):
        #銷量統(tǒng)計(jì)
        print('商品銷量統(tǒng)計(jì)'.center(24,'='))
        print('avg    --------平均銷量')
        print('max    --------最高銷量')
        print('min    --------最低銷量')        
        print('return --------返回')
        print(''.center(30,'='))
        while True:
            s = input('sale>').strip().lower()
            if s == 'avg':                
                self.sale_avg()
            elif s == 'max':                
                self.sale_max()
            elif s == 'min':                
                self.sale_min()
            elif s == 'return':
                break
            else:
                print('輸入錯(cuò)誤')
                
    def main(self):
        #主控函數(shù)               
        while True:
            print('商品信息管理系統(tǒng)V1.0'.center(24,'='))
            print('info  --------商品基本信息管理')
            print('sale  --------商品銷量統(tǒng)計(jì)')
            print('exit  --------退出系統(tǒng)')
            print(''.center(32,'='))
            s = input('main>').strip().lower()
            if s == 'info':
                self.infoprocess()
            elif s == 'sale':
                self.saleprocess()
            elif s == 'exit':
                break
            else:
                print('輸入錯(cuò)誤')   
        

if __name__ == '__main__':
    gds = GoodsList()
    gds.main()

到了這里,關(guān)于商品信息管理系統(tǒng)(Python)完整版的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包