python实现库存商品管理系统

题目要求:

请设计一个商品管理系统,程序要求根据用户输入的选项进入相应的功能模块,并显示相应的提示信息。若用户输入其他选项时,提示“输入有误”。
程序的功能模块有:

1、添加

程序读取源文件路径下的goodinformation.txt,若没有就创建。当添加的商品已存在时,显示“该商品已存在”

2、查询

根据用户输入的商品名称,查询商品信息,并输出。当查询的商品不存在时,显示“商品库中无该商品”

3、统计

根据goodinformation.xt中的数据,生成统计数据,包括(商品种类,商品总数,销售总额,商品均价),并写入到goodtotal.txt中去

4、退出

退出运行。

提示:

字典、列表、函数、文件的打开和读取等

要求如下:

1.如果具体功能代码无法实现,那么就把程序架构完成,比如罗列需要的函数,并且添加适当的注释。
2.添加测试用例,即根据题目功能,可以写明如果输入为XXX,输出 应该为YYY。

代码入下,为了增强程序的健壮性,使用了re模块防止输入输出出现逗号标点符号不识别的情况。

# 假设文件中的数据按照这样来写:蓝莓,10,20(一行的数据)
import re

def read_goods(fn):
    fdic = {}
    with open(fn, "r") as f:
        for i in f.readlines():
            goodl = list(re.split(r"[,,]", i))
            goodl = [x.strip() for x in goodl]
            fdic[goodl[0]] = goodl
    return fdic

def add_goods(fdic, fn):
    goods_list = list(re.split('[,,]', input("请输入商品信息(商品名称,单价,数量),直接输入回车退出:")))
    if goods_list[0] == "":
        return 0
    elif len(goods_list) == 3:
        try:
            a = eval(goods_list[1]) + eval(goods_list[2])  # 防止输入价格时输入非数字符号
        except NameError:
            print("价格请输入数字符号")
        else:
            if goods_list[0] in fdic.keys():
                print("该商品已存在")
            else:
                fdic[goods_list[0]] = goods_list
                with open(fn, "a") as f:
                    f.writelines(','.join(goods_list))
                    f.write("\n")
            add_goods(fdic, fn)
    else:
        if goods_list[0] in fdic.keys():
            print("该商品已存在")
        else:
            print("输入错误请重新输入")
        add_goods(fdic, fn)

def find_goods(fdic):
    while True:
        good_name = input("请输入查询商品名称,直接输入回车退出:")
        if good_name == "":
            break
        else:
            for k in fdic.keys():
                if k == good_name:
                    print("{},{:.2f}".format(k, eval(fdic[k][2])))
                    find_goods(fdic)
                    return 0
            print("商品库中无该商品")

def count(fdic, fn):
    type_amount = len(fdic)
    good_amount, total_sales, sum_price, ave_price = 0, 0, 0, 0
    for v in fdic.values():
        good_amount += eval(v[2])
        total_sales += eval(v[2]) * eval(v[1])
        sum_price += eval(v[1])
    try:
        ave_price = sum_price / type_amount
        with open(fn, "w") as f:
            text = "商品种类: " + str(type_amount) + \
                   "\n商品总数: " + str(good_amount) + \
                   "\n销售总额: " + str(total_sales) + \
                   "\n商品均价: " + str(ave_price)
            f.write(text)
    except ZeroDivisionError:
        with open(fn, "w+") as f:
            f.seek(0)
            text = "商品种类: 0\n商品总数: 0 \n销售总额: 0\n商品均价: 0"
            f.write(text)

return print("商品统计数据已写入统计文件")

def main():
    goodinfo = "C:\\Users\\13935\\Desktop\\goodinformation.txt"  # 换成自己的路径
    goodtotal = "C:\\Users\\13935\\Desktop\\goodtotle.txt"  # 换成自己的路径
    goods_dict = read_goods(goodinfo)
    print("1. 查询商品\n2. 添加商品\n3. 统计商品\n4. 退出\n")
    while True:
        try:
            info = eval(input('请输入您的选择:'))
            if info == 1:
                find_goods(goods_dict)
            elif info == 2:
                add_goods(goods_dict, goodinfo)
            elif info == 3:
                count(goods_dict, goodtotal)
            elif info == 4:
                break
            else:
                print("输入错误请重新输入")
        except NameError:
            print("输入错误请重新输入")
    return 0

main()

运行结果:

生成两个文件:

本要求截图入下

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

(0)

相关推荐

  • python实现简单的超市商品销售管理系统

    本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 class Goods(object): def __init__(self, id, name, price): self.id = id self.name = name self.price = price def __str__(self): info = "编号:%s\t商品名称:%s\t\t价格:%d" % (self.id, self.name, self.price) return

  • python实现超市商品销售管理系统

    本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 需求分析:超市销售管理系统功能 1.欢迎用户使用超市销售管理系统,提示用户登录,如果是用户名为admin,密码为123456,则管理员身份. 如果是其他用户(可以自己设置也可随意接收),则是顾客身份. 2.如果用户是管理员身份,提示用户输入编号,选择对应功能 输入编号"1":显示商品的信息 (编号 商品名称 价格) 输入编号"2":添加商品信息 (输入编号,商品名称,价格) 输

  • python实现库存商品管理系统

    题目要求: 请设计一个商品管理系统,程序要求根据用户输入的选项进入相应的功能模块,并显示相应的提示信息.若用户输入其他选项时,提示“输入有误”.程序的功能模块有: 1.添加 程序读取源文件路径下的goodinformation.txt,若没有就创建.当添加的商品已存在时,显示“该商品已存在” 2.查询 根据用户输入的商品名称,查询商品信息,并输出.当查询的商品不存在时,显示“商品库中无该商品” 3.统计 根据goodinformation.xt中的数据,生成统计数据,包括(商品种类,商品总数,销

  • python实现手机销售管理系统

    本文实例为大家分享了python实现手机销售管理系统的具体代码,供大家参考,具体内容如下 要求如下: 手机销售系统 手机品牌                手机价格    库存数量      vivoX9                       2798          25      iphone7(32G)         4888          31      iphone7(128G)       5668          22      iphone7P(128G)    

  • Python实现简易超市管理系统

    目录 一:购物车管理功能 二:用户管理功能 三:AI客服对话 一:购物车管理功能 1.添加商品(不重复添加). 2.删除商品(购物车中有的才能删除). 3.查看购物车 4.退出系统 产品列表 products = [['iphone8', 6888], ['macPro', 15888],['小米8', 2599], ['coff', 50], ['book', 40], ['Nike shoes', 500]] 购物车列表 shopping = [‘'iphone8’] #产品列表 produ

  • python实现外卖信息管理系统

    本文为大家分享了python实现外卖信息管理系统的具体代码,供大家参考,具体内容如下 一.需求分析 需求分析包含如下: 1.问题描述 以外卖信息系统管理员身份登陆该系统,实现对店铺信息.派送员信息.客服人员信息.订单信息.配送信息等进行有条件查询以及信息的录入.修改.删除等功能. 2.系统功能描述 (1)信息录入:使用wxpython设计排版编写窗口界面,给出录入信息的接口,通过python语句实现与数据库的连接,从而向数据库中插入相应数据. (2)信息修改:使用wxpython设计排版编写窗口

  • Python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面. 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除. 按学生成绩进行排

  • Python简易版停车管理系统

    本文实例为大家分享了Python简易版停车管理系统的具体代码,供大家参考,具体内容如下 import time # 最大停车数 max_car = 100 # 当前停车数,初始为0 cur_car = 0 # 当前停车列表,初始设置为空 car_list = [] time.asctime() class car(object): """定义一个车类包括 车主人名 车牌 开始停放时间""" def __init__(self, plate_num

  • python+tkinter实现学生管理系统

    本文实例为大家分享了python+tkinter实现学生管理系统的具体代码,供大家参考,具体内容如下 from tkinter import * from tkinter.messagebox import * import sqlite3 from tkinter import ttk dbstr = "H:\mydb.db" root = Tk() root.geometry('700x1000') root.title('学生管理系统') Label(root, text=&qu

  • java实现商品管理系统

    本文实例为大家分享了java实现商品管理系统的具体代码,供大家参考,具体内容如下 功能要求: 完成"小商品管理系统"的架构设计 要求:利用集合存储若干商品对象 ----小商品管理系统---- 0. 退出 1. 录入商品基本信息 2. 显示商品信息 3. 商品入库(增加数量) 4. 商品出库(减少数量) 5. 修改商品价格 6. 所有产品的总价格(单价*数量) import java.util.ArrayList; import java.util.Scanner; public cla

  • 使用Python实现 学生学籍管理系统

    大家好,今天跟大家分享一个用Python实现的学生学籍管理系统: 该代码主体由五个函数组成: 1.add_stu() 添加 2.del_stu() 删除 3.print_stu()打印 4.exit_stu() 退出 5.system() 主函数 1.add_stu() 此段函数作用:把输入的值存入字典newstu中,并将字典存入列表stu中 def add_stu(): newstu = { 'num':int(input("请输入学号:"'')), 'name':input(&qu

  • Python综合应用名片管理系统案例详解

    本文实例讲述了Python综合应用名片管理系统.分享给大家供大家参考,具体如下: 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************************************************** 欢迎使用[名片管理系统]V1.0 1. 新建名片 2. 显示全部 3. 查询名片 0. 退出系统 ***************************************

随机推荐