学生管理系统
#Mighttf
class studentSys(object):
def init(self):
# 全局变量
self.students = []
“打印输入提示信息”
students=[]
def print_menu(self):
# \t : 横向制表符
print("=" * 50 +
“\n\t\t学生管理系统1.00版本” +
“\n\t\t1:添加学生信息” +
“\n\t\t2:删除学生信息” +
“\n\t\t3:修改学生信息” +
“\n\t\t4:查找学生信息” +
“\n\t\t5:显示学生信息” +
“\n\t\t6:退出学生管理系统\n” +
“=” * 50)
# 添加学生信息的函数
def add_info(self):
# 修改全局变量
# global students
# 字典
student = {}
name = input("请输入要添加学生的姓名:")
age = input("请输入要添加学生的年龄:")
sex = input("请输入要添加学生的性别:")
phone = input("请输入要添加学生的电话:")
QQ = input("请输入要添加学生的QQ:")
# 往字典里添加输入的数据
student["name"] = name
student["age"] = age
student["sex"] = sex
student["phone"] = phone
student["QQ"] = QQ
# 把字典添加到列表(末尾)中去
self.students.append(student)
self.save_info()
# 删除学生信息函数
def delete_info(self):
name = input("请输入要删除的学生姓名:")
for student in self.students:
if name == student.get("name"):
self.students.remove(student)
self.save_info()
self.show_info()
# 修改学生信息函数
def modify_info(self):
name = input("请输入要修改学生的姓名:")
for student in self.students:
if name == student.get("name"):
info = input("请输入要修改的信息标题:")
if info == "name":
new_name = input("请输入新的姓名:")
student["name"] = new_name
elif info == "age":
new_age = input("请输入新的年龄:")
student["age"] = new_age
elif info == "sex":
new_sex = input("请输入新的性别:")
student["sex"] = new_sex
elif info == "phone":
new_phone = input("请输入新的电话:")
student["phone"] = new_phone
elif info == "QQ":
new_QQ = input("请输入新的QQ:")
student["QQ"] = new_QQ
else:
print("请输入含有的信息标题")
self.save_info()
self.show_info()
# 查找学生信息函数
def find_info(self):
name = input("请输入要查找的学生姓名:")
flag = 0 # 找到一个就是找到了
for student in self.students:
if name == student.get("name"):
print(student)
print("\t" + student["name"] + \
"\t\t" + student["age"] + \
"\t\t" + student["sex"] + \
"\t\t" + student["phone"] + \
"\t\t" + student["QQ"])
flag = 1
# 循环结束后判断
if flag == 0:
print("无此人信息")
# 显示学生信息函数
def show_info(self):
print("\t\t\t\t当前学生信息\n" + \
"-" * 80 + "\n\t姓名\t\t年龄\t\t性别\t\t电话\t\tQQ")
for student in self.students:
print("\t" + student["name"] + \
"\t\t" + student["age"] + \
"\t\t" + student["sex"] + \
"\t\t" + student["phone"] + \
"\t\t" + student["QQ"])
print("-" * 80, "\n")
# 保存信息
def save_info(self):
f = open("students.txt", "w") # 每次保存都会覆盖,覆盖保存w
f.write(str(self.students)) # 保存
f.close() # 关闭资源
# 读取运行时的信息
def load_info(self):
f = open("students.txt", "a+")
f.seek(0)
content = f.read()
if len(content) > 0:
self.students = eval(content)
f.close() # 关闭资源
# 定义一个入口函数
def main(self):
self.print_menu()
self.load_info()
while True:
# 输入的内容都当做字符串
input_num = input("请按照提示输入相应的指令:")
# 判断用户输入的内容
if input_num == "1":
# print("增加\n")
self.add_info()
elif input_num == "2":
# print("删除\n")
self.delete_info()
elif input_num == "3":
# print("修改\n")
self.modify_info()
elif input_num == "4":
# print("查找\n")
self.find_info()
elif input_num == "5":
# print("显示\n")
self.show_info()
elif input_num == "6":
print("退出\n")
break
else:
print("请不要瞎玩,这里需要输入对应的数字!\n")
# 创建实例对象,调用方法
studentSys().main()
截图如下: