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