首页 > 编程语言 >python代码模拟一个工厂的库存管理软件

python代码模拟一个工厂的库存管理软件

时间:2023-08-27 16:33:54浏览次数:40  
标签:product python Product 管理软件 inventory print id 模拟 quantity


下面是一个简单的工厂库存管理软件的Python代码示例:

import json

# 初始化库存数据
inventory = {
    "products": [
        {"id": 1, "name": "Product 1", "quantity": 10},
        {"id": 2, "name": "Product 2", "quantity": 5},
        {"id": 3, "name": "Product 3", "quantity": 3}
    ]
}

# 保存库存数据到文件
def save_inventory():
    with open("inventory.json", "w") as file:
        json.dump(inventory, file)

# 加载库存数据
def load_inventory():
    global inventory
    try:
        with open("inventory.json", "r") as file:
            inventory = json.load(file)
    except FileNotFoundError:
        save_inventory()

# 显示库存
def show_inventory():
    print("Current Inventory:")
    for product in inventory["products"]:
        print(f"ID: {product['id']}, Name: {product['name']}, Quantity: {product['quantity']}")

# 添加产品
def add_product():
    id = int(input("Enter product ID: "))
    name = input("Enter product name: ")
    quantity = int(input("Enter product quantity: "))
    product = {"id": id, "name": name, "quantity": quantity}
    inventory["products"].append(product)
    save_inventory()
    print("Product added successfully.")

# 更新产品数量
def update_quantity():
    id = int(input("Enter product ID: "))
    quantity = int(input("Enter new quantity: "))
    for product in inventory["products"]:
        if product["id"] == id:
            product["quantity"] = quantity
            save_inventory()
            print("Quantity updated successfully.")
            return
    print("Product not found.")

# 删除产品
def delete_product():
    id = int(input("Enter product ID: "))
    for product in inventory["products"]:
        if product["id"] == id:
            inventory["products"].remove(product)
            save_inventory()
            print("Product deleted successfully.")
            return
    print("Product not found.")

# 主菜单
def main_menu():
    while True:
        print("\n===== Inventory Management =====")
        print("1. Show Inventory")
        print("2. Add Product")
        print("3. Update Quantity")
        print("4. Delete Product")
        print("0. Exit")
        choice = input("Enter your choice: ")
        if choice == "1":
            show_inventory()
        elif choice == "2":
            add_product()
        elif choice == "3":
            update_quantity()
        elif choice == "4":
            delete_product()
        elif choice == "0":
            break
        else:
            print("Invalid choice. Please try again.")

# 加载库存数据
load_inventory()

# 运行主菜单
main_menu()

这个代码示例实现了一个简单的工厂库存管理软件,包括显示库存、添加产品、更新产品数量和删除产品等功能。库存数据以JSON格式保存在文件中,并在程序启动时加载和保存。用户可以通过主菜单选择不同的操作。

标签:product,python,Product,管理软件,inventory,print,id,模拟,quantity
From: https://blog.51cto.com/u_16055028/7253413

相关文章

  • python+playwright 学习-76 playwright 忽略SSL 错误
    前言playwright设置ignore_https_errors参数忽略SSL错误context上下文中设置browser.new_context()创建上下文时fromplaywright.sync_apiimportsync_playwright,expectwithsync_playwright()asp:browser=p.chromium.launch(headless=False)conte......
  • 用vscode运行python
    0下载好vscode和python1下载python插件选择python解释器F1或ctrl+shift+P打开命令栏输入Python:SelectInterpreter选择我们下载好的解释器3新建一个python文件打开我们的文件夹,然后新建.py文件写入代码运行python代码就好了......
  • excel+python 根据A列分类查找B列值最大的C列元素
    根据C列分类查找B列值最大的C列元素1https://developer.aliyun.com/article/306428......
  • 学习笔记413—python实现BP神经网络进行预测和误差分析(附源代码)
    python实现BP神经网络进行预测和误差分析(附源代码)反向传播算法也称为BP神经网络,是一种带有反馈的神经网络反向学习方法,它可以对神经网络的各层上的各个神经元的各个神经元之间的连接权重进行不断迭代修改,使神经网络将输入数据转换成期望的输出数据 BP神经网络的学习过程由正向......
  • 模拟集成电路设计系列博客——1.3.1 Cascode增益级
    1.3.1Cascode增益级在现代IC设计中,单管放大器常被用于Cascode结构中,这种结构由一个共源极接法的晶体管连接一个共栅极接法的晶体管组成。下图展示了Cascode增益级的两种形式。在(a)中,有一个n沟道共源极管子\(Q_1\)和一个n沟道共栅极管子\(Q_2\),这种结构也被称作套筒Cascode结构......
  • 圣天诺加密锁(加密狗)保护Python应用程序防止被反编译Python代码保护的好方法
    (开发套件使用的是原HASP/SafeNet/金雅拓/泰雷兹加密狗开发工具)(注:本文为Python程序保护的纯技术贴,欢迎留言探讨)开发工具下载:​​http://www.chinadlp.com/?list-DriveDownload.html​​  概述使用圣天诺加密锁保护Python应用程序的方法:1.SentinelLDKEnvelope带S......
  • 圣天诺加密锁保护Python应用程序防止被反编译
    (开发套件使用的是原HASP/SafeNet/金雅拓/泰雷兹加密狗最新开发工具)(注:本文为Python程序保护的纯技术贴,欢迎留言探讨)开发工具下载:http://www.chinadlp.com/?list-DriveDownload.html,概述使用圣天诺加密锁保护Python应用程序的方法:1.SentinelLDKEnvelope带SentinelLDK数据文件......
  • Python单元测试——深入理解unittest
    单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittest,testtools,subunit,coverage,testrepository,nose,mox,mock,fixtures,discover,再加上setuptools,distutils等等这些,先不说如何写单元测试,光是怎么运行单元测试就有N多种方法,再因为它......
  • policy机制中经典的python用法
    由于接触python时间还不长,属于边用边学,在看项目代码的时候,遇到了很多不太懂的python语法,但是我认为这些用法用的实在是好,希望以后自己在写程序时,也能写出这么经典的代码,在这里记录下来这些:1.将函数名作为参数传递给另一个模块中的函数使用:definit():......#read_cached......
  • python——metaclass
    元类一般用于创建类。在执行类定义时,解释器必须要知道这个类的正确的元类。解释器会先寻找类属性__metaclass__,如果此属性存在,就将这个属性赋值给此类作为它的元类。如果此属性没有定义,它会向上查找父类中的__metaclass__.如果还没有发现__metaclass__属性,解释器会检查名字为_......