PYTHON从入门到实践11-控制台实现商品管理系统

**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
2
请输入增加商品信息:XXX XXX(示例:香蕉 5元)鸡蛋 1元
恭喜,添加新商品成功
**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
1
鸡蛋---1元
**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
3
请输入修改商品信息:XXX XXX(示例:香蕉 5元)鸡蛋 3元
<__main__.Goods object at 0x000001A37CBCEFD0>
恭喜,修改商品价格成功
**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
1
鸡蛋---3元
**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
4
请输入删除商品名称:XXX XXX(示例:香蕉)鸡蛋
恭喜,添加商品移出成功
**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
1
系统商品为空
**********************************************************************
输入序号代表你要做的操作:
1.查询所有商品
2.增加商品
3.修改商品
4.删除商品
5.退出系统
5
退出系统成功,欢迎下次使用!
# 商品管理系统
import sys

goods_list=[]

# 类
class Goods(object):
    def __init__(self,name,price):
        self.name=name
        self.price=price
# 方法
def add_goods(goods_list,goods):
    found_goods = [item for item in goods_list if item.name == goods.name]
    if found_goods:
        print("相同商品已存在,添加失败")
    else:
        goods_list.append(goods)
        print("恭喜,添加新商品成功")
def delete_goods(goods_list, goods):
    for item in goods_list:
        if item.name == goods.name:
            goods_list.remove(item)
            print("恭喜,添加商品移出成功")
            return
    print("抱歉,移出商品在库里不存在")
def update_goods(goods_list,goods):
    found_goods = [item for item in goods_list if item.name == goods.name]
    if found_goods:
        print(found_goods[0])  # 输出第一个匹配的 goods
        found_goods[0].price=goods.price
        print("恭喜,修改商品价格成功")
    else:
        print("抱歉,未找到对应的商品")
def select_goods(goods_list,goods):
    if len(goods_list)>0:
        for item in goods_list:
            print(f"{item.name}---{item.price}")
    else:
        print("系统商品为空")

if __name__ == '__main__':
    while True:
        print("**********************************************************************")
        input_res1=input("输入序号代表你要做的操作:\n1.查询所有商品\n2.增加商品\n3.修改商品\n4.删除商品\n5.退出系统\n")
        if int(input_res1) == 1:
            goods_temp=Goods("","")
            select_goods(goods_list,goods_temp)
            # 这里添加查询商品的代码
        elif int(input_res1) == 2:
            input_res_select=input("请输入增加商品信息:XXX XXX(示例:香蕉 5元)")
            name,price=str(input_res_select).split(" ")
            goods_temp = Goods("", "")
            goods_temp.name=name
            goods_temp.price=price
            add_goods(goods_list,goods_temp)
            # 这里添加增加商品的代码
        elif int(input_res1) == 3:
            input_res_select = input("请输入修改商品信息:XXX XXX(示例:香蕉 5元)")
            name, price = str(input_res_select).split(" ")
            goods_temp = Goods("", "")
            goods_temp.name = name
            goods_temp.price = price
            update_goods(goods_list,goods_temp)
            # 这里添加修改商品的代码
        elif int(input_res1) == 4:
            input_res_select = input("请输入删除商品名称:XXX XXX(示例:香蕉)")
            name= str(input_res_select)
            goods_temp = Goods("", "")
            goods_temp.name = name
            delete_goods(goods_list, goods_temp)
            # 这里添加删除商品的代码
        elif int(input_res1) == 5:
            print("退出系统成功,欢迎下次使用!")
            sys.exit(0)
            # 这里添加退出系统的代码
        else:
            print("输入无效,请重新输入1-5之间的数字")

前言

在日常的商店管理或小型电商系统中,商品管理是最基础也是最重要的功能之一。本文将带领大家使用Python面向对象编程思想,实现一个简易的商品管理系统。该系统包含商品的增删改查等基本功能,适合Python初学者学习和理解面向对象编程在实际项目中的应用。

系统功能概述

我们实现的商品管理系统主要包含以下功能:

  1. 查询所有商品信息

  2. 添加新商品

  3. 修改商品价格

  4. 删除商品

  5. 退出系统

核心代码解析

商品类的定义

python

复制

下载

class Goods(object):
    def __init__(self,name,price):
        self.name=name
        self.price=price

这里我们定义了一个Goods类,使用__init__方法初始化商品对象,每个商品有两个属性:

  • name:商品名称

  • price:商品价格

商品添加功能

python

复制

下载

def add_goods(goods_list,goods):
    found_goods = [item for item in goods_list if item.name == goods.name]
    if found_goods:
        print("相同商品已存在,添加失败")
    else:
        goods_list.append(goods)
        print("恭喜,添加新商品成功")

这段代码实现了商品添加功能,特点包括:

  1. 使用列表推导式检查商品是否已存在

  2. 避免重复添加同名商品

  3. 提供明确的用户反馈

商品删除功能

python

复制

下载

def delete_goods(goods_list, goods):
    for item in goods_list:
        if item.name == goods.name:
            goods_list.remove(item)
            print("恭喜,添加商品移出成功")
            return
    print("抱歉,移出商品在库里不存在")

删除功能实现了:

  1. 遍历查找目标商品

  2. 成功删除后立即返回

  3. 未找到商品时给出提示

商品修改功能

python

复制

下载

def update_goods(goods_list,goods):
    found_goods = [item for item in goods_list if item.name == goods.name]
    if found_goods:
        print(found_goods[0])  # 输出第一个匹配的 goods
        found_goods[0].price=goods.price
        print("恭喜,修改商品价格成功")
    else:
        print("抱歉,未找到对应的商品")

修改功能特点:

  1. 同样使用列表推导式查找商品

  2. 修改第一个匹配商品的price属性

  3. 提供修改前后的信息反馈

商品查询功能

python

复制

下载

def select_goods(goods_list,goods):
    if len(goods_list)>0:
        for item in goods_list:
            print(f"{item.name}---{item.price}")
    else:
        print("系统商品为空")

查询功能实现了:

  1. 检查商品列表是否为空

  2. 格式化输出所有商品信息

  3. 空列表时的友好提示

主程序逻辑

python

复制

下载

if __name__ == '__main__':
    while True:
        print("**********************************************************************")
        input_res1=input("输入序号代表你要做的操作:\n1.查询所有商品\n2.增加商品\n3.修改商品\n4.删除商品\n5.退出系统\n")
        # 各功能分支处理...

主程序采用无限循环+条件分支的结构:

  1. 提供清晰的用户界面

  2. 根据用户输入调用相应功能

  3. 使用sys.exit(0)优雅退出系统

系统使用示例

  1. 添加商品

    text

    复制

    下载

    请输入增加商品信息:XXX XXX(示例:香蕉 5元)
    苹果 3元
    恭喜,添加新商品成功
  2. 查询商品

    text

    复制

    下载

    苹果---3元
  3. 修改商品

    text

    复制

    下载

    请输入修改商品信息:XXX XXX(示例:香蕉 5元)
    苹果 4元
    恭喜,修改商品价格成功
  4. 删除商品

    text

    复制

    下载

    请输入删除商品名称:XXX XXX(示例:香蕉)
    苹果
    恭喜,添加商品移出成功

项目扩展建议

这个基础版本还可以进一步扩展:

  1. 数据持久化:使用文件或数据库保存商品数据

  2. 用户界面:使用Tkinter或PyQt开发图形界面

  3. 更多商品属性:如库存数量、商品分类等

  4. 用户权限:区分管理员和普通用户

  5. 交易功能:添加购物车和结算功能

总结

通过这个简易商品管理系统的实现,我们学习了:

  1. Python面向对象编程的基本应用

  2. 列表操作和条件判断

  3. 功能模块化的编程思想

  4. 用户交互设计的基本原则

这个项目虽然简单,但包含了实际开发中的许多核心概念,是Python入门学习的优秀实践案例。读者可以在此基础上继续扩展,打造功能更完善的商品管理系统。

完整代码已在上文展示,建议读者亲自输入并运行代码,加深对Python面向对象编程的理解。

你可能感兴趣的:(PYTHON从入门到实践11-控制台实现商品管理系统)