商品信息管理系统(Python)完整版

这篇具有很好参考价值的文章主要介绍了商品信息管理系统(Python)完整版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

功能模块:

实现思路:

运行功能演示:

具体实现过程:

定义商品类:

定义商品管理类

定义显示商品信息函数

输入销量函数:

添加商品信息:

删除商品信息

修改商品信息

导入商品信息

导出商品信息

求商品平均销量

求商品最高销量

求商品最低销量

最后定义菜单函数和主函数:

完整代码:


功能模块:

商品基本信息管理和商品销量统计。

基本信息管理模块的主要功能有商品基本信息的添加、删除、修改、显示和数据的导入导出

商品销量统计管理模块的主要功能有统计商品的最高销量、最低销量和平均销量。

商品信息管理系统(Python)完整版

实现思路:

  1. 设计一个商品类,包含商品编号、名称、一季度销量、二季度销量和三季度销量等数据成员。
  2. 引入OS模块,用于导入导出路径文件信息
  3. 设计一个商品管理类,用于定义各个模块的具体功能函数。
  4. 设计一个主菜单,两个子菜单,分别管理商品基本信息和销量信息

运行功能演示:

商品信息管理系统启动后,首先进入系统主界面,等待用户输入命令选择相应的功能。

商品信息管理系统(Python)完整版

如果用户输入“info”命令,则进入商品基本信息管理子功能模块。

在商品基本信息管理界面,用户通过输入相应的命令进行商品基本信息的增、删、改、显示等操作。

商品信息管理系统(Python)完整版

添加商品信息

商品信息管理系统(Python)完整版

删除商品信息

商品信息管理系统(Python)完整版

修改商品信息

商品信息管理系统(Python)完整版

 显示商品信息

商品信息管理系统(Python)完整版

如果用户输入“sale”命令,则进入商品销量管理子功能模块。

在商品销量管理界面用户可选择相应的功能进行销量处理。

商品信息管理系统(Python)完整版

平均销量:

商品信息管理系统(Python)完整版

最高销量:

商品信息管理系统(Python)完整版

最低销量:

商品信息管理系统(Python)完整版

具体实现过程:

定义商品类:

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 = []

定义显示商品信息函数

在商品管理类下面定义显示商品信息函数:文章来源地址https://www.toymoban.com/news/detail-473290.html

  def show(self):
        #显示信息
        print('{}\t{}\t{}\t{}\t{}'
              .format('编号','名称','一季度','二季度','三季度'))
        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("输入错误,应在0到10000之间")
            except:
                print("输入错误,应在0到10000之间")
        return sale 
    def __exists(self,no):
        #判断编号是否存在
        for gd in self.gdslist:
            if gd.no == no:
                return True
        else:
            return False

添加商品信息:

def insert(self):
        #添加信息
        while True:
            no = input('编号:')
            if self.__exists(no):
                print('该编号已存在')
            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('继续添加(y/n)?').lower()
            if choice == 'n':
                break

删除商品信息

   def delete(self):
        #删除学生信息
        while True:
            no = input('请输入要删除的学生学号:')                
            for stu in self.stulist[::]:
                if stu.no == no:
                    self.stulist.remove(stu)
                    print('删除成功')
                    break
            else:
                print('该学号不存在')
            choice = input('继续删除(y/n)?').lower()
            if choice == 'n':
                break

修改商品信息

 def delete(self):
        #删除信息
        while True:
            no = input('请输入要删除的商品编号:')                
            for gd in self.gdslist[::]:
                if gd.no == no:
                    self.gdslist.remove(gd)
                    print('删除成功')
                    break
            else:
                print('该编号不存在')
            choice = input('继续删除(y/n)?').lower()
            if choice == 'n':
                break

导入商品信息

   def load(self,fn):
        #导入信息
        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('该编号已存在')
                            else:
                                self.gdslist.append(gd)
                print('导入完毕')
            except:
                print('error...')
        else:
            print('要导入的文件不存在')
        

导出商品信息

    def save(self,fn):
        #导出信息
        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("导出完毕")

求商品平均销量

   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----------导入商品信息')
        print('insert--------添加商品信息')
        print('delete--------删除商品信息')
        print('update--------修改商品信息')
        print('show----------显示商品信息')
        print('save----------导出商品信息')
        print('return--------返回')
        print('-'*28)
        while True:
            s = input('info>').strip().lower()
            if s == 'load':
                fn = input('请输入要导入的文件名:')
                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('请输入要导出的文件名:')
                self.save(fn)
            elif s =='return':
                break
            else:
                print('输入错误')
    
    def saleprocess(self):
        #销量统计
        print('商品销量统计'.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('输入错误')
                
    def main(self):
        #主控函数               
        while True:
            print('商品信息管理系统V1.0'.center(24,'='))
            print('info  --------商品基本信息管理')
            print('sale  --------商品销量统计')
            print('exit  --------退出系统')
            print(''.center(32,'='))
            s = input('main>').strip().lower()
            if s == 'info':
                self.infoprocess()
            elif s == 'sale':
                self.saleprocess()
            elif s == 'exit':
                break
            else:
                print('输入错误')   
        

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

完整代码:

'''
导入导出文件的编码是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('编号','名称','一季度','二季度','三季度'))
        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("输入错误,应在0到10000之间")
            except:
                print("输入错误,应在0到10000之间")
        return sale 

    def __exists(self,no):
        #判断编号是否存在
        for gd in self.gdslist:
            if gd.no == no:
                return True
        else:
            return False
        
    def insert(self):
        #添加信息
        while True:
            no = input('编号:')
            if self.__exists(no):
                print('该编号已存在')
            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('继续添加(y/n)?').lower()
            if choice == 'n':
                break


    def delete(self):
        #删除信息
        while True:
            no = input('请输入要删除的商品编号:')                
            for gd in self.gdslist[::]:
                if gd.no == no:
                    self.gdslist.remove(gd)
                    print('删除成功')
                    break
            else:
                print('该编号不存在')
            choice = input('继续删除(y/n)?').lower()
            if choice == 'n':
                break


    def update(self):
        #修改信息
        while True:
            no = input('请输入要修改的商品编号:')
            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('该编号不存在')
            choice = input('继续修改(y/n)?').lower()
            if choice == 'n':
                break

    def load(self,fn):
        #导入信息
        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('该编号已存在')
                            else:
                                self.gdslist.append(gd)
                print('导入完毕')
            except:
                print('error...')
        else:
            print('要导入的文件不存在')
        

    def save(self,fn):
        #导出信息
        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("导出完毕")

    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----------导入商品信息')
        print('insert--------添加商品信息')
        print('delete--------删除商品信息')
        print('update--------修改商品信息')
        print('show----------显示商品信息')
        print('save----------导出商品信息')
        print('return--------返回')
        print('-'*28)
        while True:
            s = input('info>').strip().lower()
            if s == 'load':
                fn = input('请输入要导入的文件名:')
                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('请输入要导出的文件名:')
                self.save(fn)
            elif s =='return':
                break
            else:
                print('输入错误')
    
    def saleprocess(self):
        #销量统计
        print('商品销量统计'.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('输入错误')
                
    def main(self):
        #主控函数               
        while True:
            print('商品信息管理系统V1.0'.center(24,'='))
            print('info  --------商品基本信息管理')
            print('sale  --------商品销量统计')
            print('exit  --------退出系统')
            print(''.center(32,'='))
            s = input('main>').strip().lower()
            if s == 'info':
                self.infoprocess()
            elif s == 'sale':
                self.saleprocess()
            elif s == 'exit':
                break
            else:
                print('输入错误')   
        

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

到了这里,关于商品信息管理系统(Python)完整版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Qt学生信息管理系统】2.完整版源码

    😈 「CSDN主页」 :传送门 😈 「Bilibil首页」 :传送门 😈 「网易云课堂」 :传送门 😈 「CSDN学院」 :传送门 😈 「51CTO学院」 :传送门 😈 「本文的内容」 :Qt学生管理系统代码 😈 「动动你的小手」 : 点赞 👍 收藏 ⭐️ 评论 📝 1.【Qt学生信息管理系统】1.专栏介绍(

    2023年04月13日
    浏览(25)
  • 超市商品信息管理系统/超市管理系统的设计与实现

    摘  要 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多国家的之中,随之就产生了“超市商品信息管理系统”,这样就让超市商品信息管理系统更加方便简单。 对于本超市商品信息管理系统的设计来说,系统开发主要是采用j

    2024年02月02日
    浏览(30)
  • 超市商品信息管理系统设计与实现(论文+源码)

    本篇 论文源码私我 以上内容只是精简版 还有很多原创类型论文 本次主要先介绍研究背景、研究目标及相应价值的基础上,分析了国内外电子商务及相应超市管理系统的研究现状。随着计算机技术和网络技术的发展,顾客购买方式也从商店购买发展到超市管理系统。由于学生

    2024年02月16日
    浏览(37)
  • python管理系统[完整版](可作大作业参考)

    此专栏会持续更新 有任何大作业或者项目需要参考 可以评论区告诉我 🤜🏽 🤛🏽 我会持续做出各种项目给大学生作为参考 希望能给你们帮助 🤜🏽 🤛🏽 📝个人主页→数据挖掘博主ZTLJQ的主页   个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️py

    2024年02月11日
    浏览(33)
  • Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等

    以下是一些在 Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等。这里列举了一些基础的命令: 文件和目录管理: ls: 列出目录内容。 ls cd: 切换当前目录。 cd /path/to/directory cp: 复制文件或目录。 cp source_file destination mv: 移动

    2024年01月19日
    浏览(36)
  • 【UniApp开发小程序】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】

    本小程序在用户浏览首页的时候创建WebSocket连接,并将连接获得的WebSocket对象存储到全局变量中,方便其他页面来使用WebSocket 首先在项目的main.js文件中声明全局变量socket 对全局变量进行赋值 后续如果需要使用全局变量,直接使用 this.$socket 即可 下面的代码中有一个headbeat方

    2024年02月11日
    浏览(32)
  • 【易售小程序项目】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】

    本小程序在用户浏览首页的时候创建WebSocket连接,并将连接获得的WebSocket对象存储到全局变量中,方便其他页面来使用WebSocket 首先在项目的main.js文件中声明全局变量socket 对全局变量进行赋值 后续如果需要使用全局变量,直接使用 this.$socket 即可 下面的代码中有一个headbeat方

    2024年02月09日
    浏览(39)
  • 【UniApp开发小程序】私聊功能后端实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】

    本文提炼于个人练手项目,其中的实现逻辑不一定标准,实现思路没有参考权威的文档和教程,仅为个人思考得出,因此可能存在较多本人未考虑到的情况和漏洞,因此仅供参考,如果大家觉得有问题,恳请大家指出有问题的地方 如果对客户端的实现感兴趣,可以转身查看【

    2024年02月11日
    浏览(33)
  • python新手案例——商品进销存管理系统(pymysql+xlwt)(一)

    1.pymsq          此模块的作用是让python语言能够对数据库的表进行操作,在此,我们需要简单地了解以下pymysql最基础的操作。 Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程 (runoob.com) 2.xlwt         此模块是excel写入模块,在该系统中,我们需要导出数据,最好的方式就

    2024年02月02日
    浏览(31)
  • 程序员面试题精选100题答案,python学生成绩管理系统【完整版,【微信小程序】

    self.students = json.loads(text) def save_data(self): with open(“students.txt”, ‘w’, encoding=“utf-8”) as f: text = json.dumps(self.students, ensure_ascii=False) f.write(text) db = StudentDB() MenuPage.py import tkinter as tk from view import * class MenuPage(object): def init (self, master=None): self.root = master self.root.geometry(‘%dx%d’

    2024年04月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包