1. 简介
现如今,超市已经成为人们购物的主要场所之一,随着人们对于生活品质的不断提高,超市购物已经成为一种生活方式。然而管理超市是每个超市管理员都面临的挑战,在超市中管理商品、员工、销售、收银等等,超市管理员需要处理大量的信息和数据。因此,本文将会介绍 Python 实现简易超市管理系统。
2. 功能需求
简易超市管理系统需要实现的主要功能有:
2.1 商品管理
商品管理包括新建商品、修改商品信息、删除商品和查询商品信息四个功能。
2.2 员工管理
员工管理包括新建员工、修改员工信息、删除员工和查询员工信息四个功能。
2.3 销售管理
销售管理包括商品销售和销售报表两个功能。
2.4 收银管理
收银管理包括商品结算和收银报表两个功能。
3. 环境准备
在进行开发工作之前,需要准备 Python 环境,并安装一下第三方库:
pip install prettytable
prettytable 是 Python 打印美观表格的库,用于在控制台上打印输出结果。
4. 程序设计
程序的设计包括创建商品、员工和销售等三个类,还有一个管理器类,负责管理所有对象,实现上述所有功能。其中商品、员工和销售类都包括了新增、修改、删除、查询等功能。这里我们主要以商品管理为例进行介绍。
4.1 商品类的设计
商品类包含三个属性:商品编号、商品名称和商品价格,以及四个方法:新增、修改、删除、查询。
class Commodity:
def __init__(self, number, name, price):
self.number = number
self.name = name
self.price = price
def add_commodity(self, number, name, price):
新增:将商品属性添加到商品信息列表中,其中商品编号不可重复;
class Manager:
def add_commodity(self):
number = input("请输入商品编号:")
name = input("请输入商品名称:")
price = input("请输入商品价格:")
flag = 1
for commodity in self.commodity_manage_list:
if commodity.number == number:
print("商品编号重复!")
flag = 0
break
if flag:
commodity = Commodity(number, name, price)
self.commodity_manage_list.append(commodity)
print("添加商品成功!")
完整代码如下:
class Commodity:
def __init__(self, number, name, price):
self.number = number
self.name = name
self.price = price
def add_commodity(self, number, name, price):
for commodity in commodity_list:
if commodity.number == number:
print("商品编号重复!")
return False
commodity = Commodity(number, name, price)
commodity_list.append(commodity)
print("添加商品成功!")
return True
def del_commodity(self, number):
for commodity in commodity_list:
if commodity.number == number:
commodity_list.remove(commodity)
print("删除成功!")
return True
print("未找到该商品!")
return False
def modify_commodity(self, number, name, price):
for commodity in commodity_list:
if commodity.number == number:
commodity.name = name
commodity.price = price
print("修改商品信息成功!")
return True
print("未找到该商品!")
return False
def query_commodity(self):
tb = prettytable.PrettyTable()
tb.field_names = ["编号", "名称", "价格"]
for commodity in commodity_list:
tb.add_row([commodity.number, commodity.name, commodity.price])
print(tb)
commodity_list = []
4.2 商品管理
商品管理主要包括新建、删除、修改和查询商品四个功能,新建商品需要输入商品编号、商品名称和商品价格,商品编号不可重复;删除商品和修改商品需要输入商品编号;查询商品可以查询所有商品信息。
class Manager:
def __init__(self):
self.commodity_manage_list = []
def add_commodity(self):
number = input("请输入商品编号:")
name = input("请输入商品名称:")
price = input("请输入商品价格:")
flag = 1
for commodity in self.commodity_manage_list:
if commodity.number == number:
print("商品编号重复!")
flag = 0
break
if flag:
commodity = Commodity(number, name, price)
self.commodity_manage_list.append(commodity)
print("添加商品成功!")
def del_commodity(self):
number = input("请输入商品编号:")
for commodity in self.commodity_manage_list:
if commodity.number == number:
self.commodity_manage_list.remove(commodity)
print("删除成功!")
break
else:
print("未找到该商品!")
def modify_commodity(self):
number = input("请输入商品编号:")
for commodity in self.commodity_manage_list:
if commodity.number == number:
name = input("请输入商品名称:")
price = input("请输入商品价格:")
commodity.name = name
commodity.price = price
print("修改商品信息成功!")
break
else:
print("未找到该商品!")
def query_commodity(self):
tb = prettytable.PrettyTable()
tb.field_names = ["编号", "名称", "价格"]
for commodity in self.commodity_manage_list:
tb.add_row([commodity.number, commodity.name, commodity.price])
print(tb)
5. 运行效果
将上述代码保存在 supermarket.py 中,使用 Python 运行该程序,可以得到如下运行效果:
请输入操作:add
请输入操作类型:commodity
请输入商品编号:001
请输入商品名称:牛奶
请输入商品价格:10
添加商品成功!
请输入操作:add
请输入操作类型:commodity
请输入商品编号:001
请输入商品名称:蒸蛋
请输入商品价格:15
商品编号重复!
请输入操作:query
请输入操作类型:commodity
+------+--------+-------+
| 编号 | 名称 | 价格 |
+------+--------+-------+
| 001 | 牛奶 | 10 |
+------+--------+-------+
请输入操作:delete
请输入操作类型:commodity
请输入商品编号:001
删除成功!
请输入操作:query
请输入操作类型:commodity
+------+--------+-------+
| 编号 | 名称 | 价格 |
+------+--------+-------+
6. 总结
本文介绍了 Python 实现简易超市管理系统的方法。其中主要介绍了商品类的设计和商品管理的实现方法。通过该系统,超市管理员可以方便地管理商品信息,充分利用该系统,可以提高超市管理效率,为消费者提供更好的服务。