python商品管理系统_基于Python的超市账户&商品管理系统

本文介绍了一个基于Python的超市账户和商品管理系统,包括用户管理(超级管理员、管理员和用户)和商品管理(进货、售货、点货等)。系统采用面向对象编程,利用pickle模块进行数据持久化,确保数据同步。管理员可创建、删除和查看用户信息,对商品进行各种操作,而用户根据权限进行商品管理。系统还包含了手机号合法性检验等人性化设计。
摘要由CSDN通过智能技术生成

--------------------------------声明:完全原创,转载请注明出处!------------------

超市账户&商品管理系统

主要功能:

用户管理系统

用户分为超级管理员和管理员和用户三种:

(1)超级管理员(相当于系统的最大BOSS,如果某个超市买了这个管理系统,超级管理员就可以专门为这个买家创建一个管理员账号):

​ a. 账号只有一个并且是固定的

​ b. 用户名:admin 默认密码:admin

​ c. 用户名不可以更改,密码登录后可改

​ d. 超级管理员创建、删除和查看管理员信息

(2)管理员(相当于某家超市的老板,可以给超市的相关工作人员创建账号)

​ a. 可以修改自己的密码

​ b. 创建、删除和查看用户信息

​ c. 对用户进行授权(权限主要包括:商品的查看权限、删除权限、修改权限、增加权限)

​ d. 对该超市的所有的商品拥有所有的权限

( 3 ) 用户(相当于某家超市的所有员工,不同员工会被分配不同的权限,但都有售卖权限)

商品管理系统

(1)超市进货入库功能

(2)超市售货功能

(3)点货功能

注意:a. 通一个管理员创建的用户,管理的是同一个超市的商品,数据应该同步

​ b. 所有数据都需要做数据持久化

​ c. 实现功能的时候需要考虑人性化问题,比如:手机号需要做合法化的检验

需求分析

运用面向对象的编程思想,结合文件操作对账户和所有商品信息进行数据持久化(使用pickle模块,保存的数据类型是对象,方便调用各种方法)。其中所有账户信息保存在同一个文件内,不同管理员(不同的超市的老板)拥有自己的专属的保存商品的文件,自己以及下面的员工对商品的操作都是对这同一个文件操作。部分效果图如下,所有功能测试可用。

005b67b94de1

在这里插入图片描述

005b67b94de1

在这里插入图片描述

005b67b94de1

在这里插入图片描述

005b67b94de1

在这里插入图片描述

005b67b94de1

在这里插入图片描述

005b67b94de1

在这里插入图片描述

代码

import pickle # 导入pickle模块,方便数据持久化

all_users = [] # 本列表临时存放(指存放在内存)所有账户信息 超管等级为0 普管等级为 1 店员等级为 2

admin_goods = [] # 本列表临时存放管理员(该超市)对应的货物信息,登录不同的账号只会打开该超市对应的货物文件

class Goods: # 货物类

def __init__(self, id: int, name: str, price: float, amount: int):

self.id = id # 商品货号

self.name = name # 品名

self.price = price # 价格

self.amount = amount # 数量

def __str__(self): # 重写方法,方便打印

return '货号:{},品名:{},价格:{}元,数量:{}'.format(self.id, self.name, self.price, self.amount)

class ShopManager: # 店员类

def __init__(self, user_name:str, pass_wd:str,permission:int,authorization:int, belong:str): # belong 属于哪个管理员

if user_name == 'admin':

print('不可使用超管账户名!')

else:

self.user_name = user_name # 用户名

self.pass_wd = pass_wd # 密码

self.permission = permission # 账号等级 0:超管 1:普管 2:店员

# 商品权限数字:查看0001 删除0010 修改0100 增加1000 通过按位与运算来验证权限

self.authorization = authorization

self.belong = belong # 该店员属于哪个管理员(哪家超市)

def __str__(self): # 重写方法,方便打印

return '店员账户:{},密码:{},等级:{},权限数字:{}'.format(self.user_name, self.pass_wd, self.permission,self.authorization)

def view_goods(self): # 查看商品(点货)

# 验证权限

if self.authorization & 0b0001 == 0b0001:

for item in admin_goods:

print(item)

else:

print('很抱歉,你没有商品查看权限!')

def del_goods(self): # 删除商品

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值