Python实现简易超市管理系统

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 实现简易超市管理系统的方法。其中主要介绍了商品类的设计和商品管理的实现方法。通过该系统,超市管理员可以方便地管理商品信息,充分利用该系统,可以提高超市管理效率,为消费者提供更好的服务。

后端开发标签