当前位置:   article > 正文

Python面向对象——学生管理系统【简陋版】_python 简易学生管理系统 面向对象

python 简易学生管理系统 面向对象

需求:
        1. 显示菜单
        2. 添加信息
                  View: 录入信息
                  Controller: 打包信息
                  Module: 编号,追加
        3. 删除信息
        4. 查看信息
        5. 修改信息
        6. 退出

定义类

CommodityModule类

  1. class CommodityModule:
  2. """
  3. 商品数据模型:对商品的数据进行整体打包,便于发送给商品信息管理器
  4. """
  5. def __init__(self, cid=0, name="", price=0):
  6. self.cid = cid # 要求唯一,因此用controller,即系统来创建id,避免重复
  7. self.name = name
  8. self.price = price
'
运行

CommodityView类

  1. """
  2. 商品信息界面:录入、显示信息
  3. """
  4. def __init__(self):
  5. # 构造函数中调用其他类,为了创建一个永远存在的伴随自己的类
  6. self.controller = CommodityController()
  7. def display_menu(self): # 显示菜单 ——> 录入、显示 ——> View
  8. print("1.添加商品信息")
  9. print("2.删除商品信息")
  10. print("3.修改商品信息")
  11. print("4.查看商品信息")
  12. print("5.退出")
  13. def select_commodity(self): # 录入选项 ——> 录入、显示 ——> View
  14. select_id = input("请输入选项:")
  15. if select_id not in ["1","2","3","4","5"]:
  16. print("输入错误!请重新输入:")
  17. self.select_commodity()
  18. if select_id == "1":
  19. self.input_commodity_info()
  20. elif select_id == "2":
  21. self.delete_commodity_info()
  22. elif select_id == "3":
  23. self.modify_commodity_info()
  24. elif select_id == "4":
  25. self.check_commodity_info()
  26. elif select_id == "5":
  27. self.exit_program()
  28. def input_commodity_info(self): # 录入信息 ——> 录入、显示 ——> View
  29. commodity = CommodityModule()
  30. commodity.name = input("请输入商品的名称:")
  31. commodity.price = input("请输入商品的价格:")
  32. self.controller.add_commodity(commodity)
  33. def delete_commodity_info(self): # 删除 ——> 逻辑控制 ——> Controller
  34. del_commodity_id = int(input("请输入要删除商品的id:"))
  35. if self.controller.delete_commodity(del_commodity_id):
  36. print("删除成功")
  37. else:
  38. print("删除失败")
  39. def modify_commodity_info(self): # 修改 ——> 逻辑控制 ——> Controller
  40. select_commodity_id = int(input("请输入要修改商品的id:"))
  41. select_commodity_new_name = input("请输入新名称:")
  42. select_commodity_new_price = input("请输入新价格:")
  43. if self.controller.modify_commodity(select_commodity_id,select_commodity_new_name,select_commodity_new_price):
  44. print("修改成功")
  45. else:
  46. print("修改失败")
  47. def check_commodity_info(self): # 查看商品信息 ——> 录入、显示 ——> View
  48. if self.controller.list_commodity == []:
  49. print("暂无商品信息!")
  50. else:
  51. for item in self.controller.list_commodity:
  52. print(item.cid, "号商品是:", item.name, ",价格是:", item.price, sep="")
  53. def exit_program(self): # 退出程序 ——> 录入、显示 ——> View
  54. exit()

 CommodityController类

  1. """
  2. 商品管理器:用于对商品的信息增删改查等处理
  3. """
  4. def __init__(self): # 初始化商品信息列表 和 ID
  5. self.list_commodity = []
  6. self.commodity_id = 1001
  7. def add_commodity(self, new_commodity): # 添加商品信息
  8. new_commodity.cid = self.commodity_id
  9. self.commodity_id += 1
  10. self.list_commodity.append(new_commodity)
  11. def delete_commodity(self, del_commodity_id): # 删除商品信息
  12. for item in self.list_commodity:
  13. if item.cid == del_commodity_id:
  14. self.list_commodity.remove(item)
  15. return True
  16. return False
  17. def modify_commodity(self,target_commodity_id,new_commodity_name,new_commodity_price):# 修改商品信息
  18. for item in self.list_commodity:
  19. if item.cid == target_commodity_id:
  20. item.name = new_commodity_name
  21. item.price = new_commodity_price
  22. return True
  23. return False

 入口

  1. # ---------------入口-------------------
  2. view = CommodityView()
  3. while True:
  4. view.display_menu()
  5. view.select_commodity()

综上所示,即为本人所写的简陋版学生管理系统

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/808106
推荐阅读
相关标签
  

闽ICP备14008679号