学生管理系统

class Student():

    # 添加数据 (在原有的基础上添加, 不覆盖以前的数据)
    def add_data(self, **kwargs):
        f = open("data", "a")
        f.write(str(kwargs) + "\n")
        f.close()

    # 覆盖以前的数据
    def edit_data(self, **kwargs):
        f = open("data", "w")
        f.write(str(kwargs) + "\n")
        f.close()

    # 查询数据
    def check_data(self):
        f = open("data", "r")
        result = f.read()
        print(result)
        f.close()
        return result

    # 编辑和删除
    def edit_del_info(self, *args, **kwargs):
        result = self.check_data()
        result = result.split("\n")
        del result[-1]
        count = True
        for info in result:
            re = eval(info)
            # 编辑数据
            if kwargs:
                if re["num_code"] == kwargs["num_code"]:
                    re["name"] = kwargs["name"]
                    re["age"] = kwargs["age"]
                if count:
                    self.edit_data(name=re["name"], num_code=re["num_code"], age=re["age"])
                else:
                    self.add_data(name=re["name"], num_code=re["num_code"], age=re["age"])
                count = False
            # 删除数据
            else:
                if re["num_code"] != args[0]:
                    if count:
                        self.edit_data(name=re["name"], num_code=re["num_code"], age=re["age"])
                    else:
                        self.add_data(name=re["name"], num_code=re["num_code"], age=re["age"])
                    count = False


# 开始循环 让用户选择操作
print("欢迎使用,学员信息管理系统")
stu = Student()
while True:
    print("请选择您要进行的操作")
    checked = input("添加(A),修改(E),删除(D),查询(C),退出(Q):")
    checked_lower = checked.lower()
    if checked_lower == "a":
        content = input('请分别输入[学号 姓名 年龄]')
        num_code, name, age = content.split(' ')
        stu.add_data(name=name, num_code=num_code, age=age)
        print("添加学生信息成功")
    elif checked_lower == "c":
        stu.check_data()
    elif checked_lower == "e":
        content = input('请分别输入[学号 姓名 年龄]')
        num_code, name, age = content.split(' ')
        stu.edit_del_info(name=name, num_code=num_code, age=age)
        print("编辑学生信息成功")
    elif checked_lower == "d":
        num = input('请输入需要删除的学号:')
        stu.edit_del_info(num)
        print("删除学生信息成功")
    else:
        print("退出成功")
        break
        

 

posted @ 2018-11-25 18:51  Bob__Zhang  阅读(268)  评论(0编辑  收藏  举报