需求:
1. 显示菜单
2. 添加信息
View: 录入信息
Controller: 打包信息
Module: 编号,追加
3. 删除信息
4. 查看信息
5. 修改信息
6. 退出
定义类
CommodityModule类
class CommodityModule:
"""
商品数据模型:对商品的数据进行整体打包,便于发送给商品信息管理器
"""
def __init__(self, cid=0, name="", price=0):
self.cid = cid # 要求唯一,因此用controller,即系统来创建id,避免重复
self.name = name
self.price = price
CommodityView类
"""
商品信息界面:录入、显示信息
"""
def __init__(self):
# 构造函数中调用其他类,为了创建一个永远存在的伴随自己的类
self.controller = CommodityController()
def display_menu(self): # 显示菜单 ——> 录入、显示 ——> View
print("1.添加商品信息")
print("2.删除商品信息")
print("3.修改商品信息")
print("4.查看商品信息")
print("5.退出")
def select_commodity(self): # 录入选项 ——> 录入、显示 ——> View
select_id = input("请输入选项:")
if select_id not in ["1","2","3","4","5"]:
print("输入错误!请重新输入:")
self.select_commodity()
if select_id == "1":
self.input_commodity_info()
elif select_id == "2":
self.delete_commodity_info()
elif select_id == "3":
self.modify_commodity_info()
elif select_id == "4":
self.check_commodity_info()
elif select_id == "5":
self.exit_program()
def input_commodity_info(self): # 录入信息 ——> 录入、显示 ——> View
commodity = CommodityModule()
commodity.name = input("请输入商品的名称:")
commodity.price = input("请输入商品的价格:")
self.controller.add_commodity(commodity)
def delete_commodity_info(self): # 删除 ——> 逻辑控制 ——> Controller
del_commodity_id = int(input("请输入要删除商品的id:"))
if self.controller.delete_commodity(del_commodity_id):
print("删除成功")
else:
print("删除失败")
def modify_commodity_info(self): # 修改 ——> 逻辑控制 ——> Controller
select_commodity_id = int(input("请输入要修改商品的id:"))
select_commodity_new_name = input("请输入新名称:")
select_commodity_new_price = input("请输入新价格:")
if self.controller.modify_commodity(select_commodity_id,select_commodity_new_name,select_commodity_new_price):
print("修改成功")
else:
print("修改失败")
def check_commodity_info(self): # 查看商品信息 ——> 录入、显示 ——> View
if self.controller.list_commodity == []:
print("暂无商品信息!")
else:
for item in self.controller.list_commodity:
print(item.cid, "号商品是:", item.name, ",价格是:", item.price, sep="")
def exit_program(self): # 退出程序 ——> 录入、显示 ——> View
exit()
CommodityController类
"""
商品管理器:用于对商品的信息增删改查等处理
"""
def __init__(self): # 初始化商品信息列表 和 ID
self.list_commodity = []
self.commodity_id = 1001
def add_commodity(self, new_commodity): # 添加商品信息
new_commodity.cid = self.commodity_id
self.commodity_id += 1
self.list_commodity.append(new_commodity)
def delete_commodity(self, del_commodity_id): # 删除商品信息
for item in self.list_commodity:
if item.cid == del_commodity_id:
self.list_commodity.remove(item)
return True
return False
def modify_commodity(self,target_commodity_id,new_commodity_name,new_commodity_price):# 修改商品信息
for item in self.list_commodity:
if item.cid == target_commodity_id:
item.name = new_commodity_name
item.price = new_commodity_price
return True
return False
入口
# ---------------入口-------------------
view = CommodityView()
while True:
view.display_menu()
view.select_commodity()
综上所示,即为本人所写的简陋版学生管理系统