学生管理系统面向对象版


 

"""
学生管理系统面向对象版
"""
"""
1.学生类
初始化的对象属性:name age id
2.管理系统类
添加,修改,删除,显示,界面,退出

字典定义在类的外面,键是学生的id,值是学生的信息,姓名,年龄
"""

class Student:
    def __init__(self,name,age,id):
        self.name = name
        self.age = age
        self.id = id

new_id = ""
new_name = ""
new_age = ""

class Sys:
    def __init__(self):
        pass


    def print_info(self):
        print("="*30)
        print("欢迎使用学生管理系统")
        print("1.添加学生信息")
        print("2.删除学生信息")
        print("3.查询学生信息")
        print("4.修改学生信息")
        print("5.显示所有学生信息")
        print("6.退出")
        print("="*30)

    def get_info(self):
        global new_age
        global new_id
        global new_name
        new_name = input("请输入学生的姓名")
        new_id = input("请输入学生的id")
        new_age = input("请输入学生的年龄")

    def add_student(self):
        self.get_info()
        # 实例化一个学生的对象为value
        student[new_id] = Student(new_name,new_age,new_id)
        # 这里显示的是以new_id为字典的键,学生的信息为值添加
        print("ID:%s" % student[new_id].id,
              "name:%s" % student[new_id].name,
              "age:%s" % student[new_id].age)

    def find_info(self):
        find_id = input("请输入要查询的学号")
        if find_id in student.keys():
            print("ID:%s" % student[find_id].id,
                  "name:%s" % student[find_id].name,
                  "age:%s" % student[find_id].age)
        else:
            print("查无此人")


    def alter_info(self):
        alterID = input("请输入要修改学生的学号")
        # self.get_info()
        if alterID in student.keys():
            del student[alterID]
        self.get_info()  # 调用学生信息的方法
        student[new_id] = Student(new_name,new_age,new_id)  # 再次添加一个学生的信息

    def del_info(self):
        delID = input("请输入删除学生的学号")
        if delID in student.keys():
            del student[delID]

    def show_info(self):
        for stu in student:  # 通过key来获取value,每一个value都是学生对象
            print("name:%s" % student[stu].name,
                  "ID:%s" % student[stu].id,
                  "age:%s" % student[stu].age)
        for i in student.keys():
            print(i)





student = {} # 全局变量
sys = Sys()  # 实例化对象

while True:  # 循环

     sys.print_info()
     choise = int(input("请输入要执行的操作"))
     if choise == 1:
         print("添加学生信息")
         sys.add_student()
     elif choise == 2:
         print("删除学生信息")
         sys.del_info()
     elif choise == 3:
         print("查询学生信息")
         sys.find_info()
     elif choise == 4:
         print("修改学生信息")
         sys.alter_info()
     elif choise == 5:
         print("查询学生的信息")
         sys.show_info()
     elif choise == 6:
         num_1 = input("您确定要退出嘛?y/n")
         if num_1 == "y":
            print("退出")
            break  # 跳出循环
         elif num_1 == "n":
             continue  # 继续执行该循环






posted @ 2020-11-06 08:07  千足  阅读(145)  评论(0)    收藏  举报