鱼C论坛

 找回密码
 立即注册
查看: 1161|回复: 10

[作品展示] 用python做一个超超超简陋的商品管理系统

[复制链接]
发表于 2023-7-23 13:04:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
商品管理系统


我用python制作了一个简单商品管理系统



商品信息会储存在同目录下的“商品信息.txt”文件中,如果没有这个文件就会自己创建一个文件



下面看代码:



"""
商品信息系统的改进版

"""

# 导入模块
import time

# 函数
def del_goods():
    goods = input("请输入需要删除的商品名称:")
    if goods in data.keys():
        if input(f"{goods}\t{data[goods][0]}\t{data[goods][1]}\n是否需要删除(是/否):") == "是":
            data.pop(goods)
            print("已删除该商品!")
    else:
        print("没有该商品!")
        
def add_goods():
    goods = input("请输入需要添加的商品名称:")
    if goods in data.keys():
        print(f"该商品已添加:\n{goods}\t{data[goods][0]}\t{data[goods][1]}")
    else:
        price = eval(input("请输入售价:"))
        goods_num = eval(input("请输入库存:"))
        data[goods] = [price, goods_num]
        print(f"{goods}\t{data[goods][0]}\t{data[goods][1]}\n已添加该商品!")
        
def sale_goods():
    goods = input("请输入需要出售的商品名称:")
    if goods in data.keys():
        while 1:
            print(f"{goods}\t{data[goods][0]}\t{data[goods][1]}")
            if data[goods][1] == 0:
                print(f"{goods}数量不足!")
                time.sleep(1.5)
                break
            goods_num = eval(input("请输入想要出售的数量:"))
            if goods_num <= data[goods][1]:
                data[goods][1] -= goods_num
                print(f"已出售{goods_num}个,仓库剩余{data[goods][1]}个")
                break
            else:
                print(f"货物数量不足,仓库中剩余{data[goods][1]}个")
                if data[goods][1] == 0:
                    break
                continue
    else:
        print("没有该商品")
        
def show_goods():
    print("============正在展示商品==============")
    l = 5
    for i in data.keys():
        i = len(i)
        l = i if i > l else l
    space = " "*(l-2)*2
    space = space.replace("        ","\t")
    print(f"商品{space}\t售价\t库存\t")
    for i in data.keys():
        space = " "*(l-len(i))*2
        space = space.replace("        ","\t")
        print(f"{i}{space}\t{data[i][0]}\t{data[i][1]}")
    print("=====================================")
    time.sleep(1)
    
def excit():
    print("正在退出......")
    with open("商品信息.txt","w",encoding="utf-8") as f:
        f.write("商品,售价,库存\n")
        for i in data.keys():
            f.write(f"{i},{data[i][0]},{data[i][1]}\n")
    print("推出成功!欢迎下次再来!")
    

# 建立空字典
data = {}

# 解压txt文件到空字典
try:
    with open(r"商品信息.txt","r",encoding="utf-8") as f:
        f.readline()
        for i in f.readlines():
            i = i[:-1].split(",")
            data[i[0]] = [eval(i[1]),eval(i[2])]
except:
    with open(r"商品信息.txt","w",encoding="utf-8") as f:
        pass
# 主循环
print("============商品信息系统==============")
time.sleep(1)
while 1:
    print("==============操作指引================\n",
          "\t·删除商品请输入‘删除’\n",
          "\t·添加商品请输入‘添加’\n",
          "\t·出售商品请输入‘出售’\n",
          "\t·展示商品请输入‘展示’\n",
          "\t·退出请输入‘退出’\n")
    opts = input("请输入:")
    if opts == "删除":
        del_goods()
    elif opts == "添加":
        add_goods()
    elif opts == "出售":
        sale_goods()
    elif opts == "展示":
        show_goods()
    elif opts == "退出":
        excit()
        break
    else:
        print("请按照指示输入!")
        time.sleep(1.5)
 


新人作者!求评分


评分

参与人数 2荣誉 +10 贡献 +6 收起 理由
cjjJasonchen + 5 + 3 鱼C有你更精彩^_^
歌者文明清理员 + 5 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-23 13:16:00 | 显示全部楼层
小号?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-23 13:20:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 13:21:35 | 显示全部楼层


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 13:22:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 13:25:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-23 13:26:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 13:42:21 | 显示全部楼层
小号是没法申请精华的。不如发在大号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2023-7-23 14:33:10 | 显示全部楼层
本帖最后由 JasonChencCjj 于 2023-7-23 14:36 编辑
sfqxx 发表于 2023-7-23 13:42
小号是没法申请精华的。不如发在大号


没关系,小号就是体验生活罢了
,这些东西是我刚改入坑的时候做的,发在大号显得有点掉价,
而且我大号至尊vip没有升级了,感觉练级很有趣
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 14:33:46 | 显示全部楼层
JasonChencCjj 发表于 2023-7-23 14:33
没关系,小号就是体验生活罢了
,这些东西是我更改入坑的时候做的,发在大号显得有点掉价,
...

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-23 16:33:53 | 显示全部楼层

我的留言板这么受欢迎的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表