main.py(程序主入口)
#1.导入管理系统模块
from mangerSystem import *
#2.启动管理系统
#保证是当前文件运行才启动管理系统:if -- 创建对象并调用run()方法
if __name__=="__main__":
student_manager=StudentManager()
student_manager.run()
student.Py
class Student(object):
def __init__(self,name,gender,tel):
#姓名,性别,手机号
self.name=name
self.gender=gender
self.tel=tel
def __str__(self):
return f'{self.name},{self.gender},{self.tel}'
# aa=Student("aa","女",111)
# print(aa)
mangerSystem
from student import *
class StudentManager(object):
def __init__(self):
#存储学员数据 -- 列表
self.student__list=[]
#一.程序入口函数
def run(self):
#1.加载文件里的学员数据
# self.load_student()
while True:
#2.显示功能菜单
self.showmenu()
#3.用户输入目标功能序号
menu_num=int(input("请输入你需要的功能序号:"))
#4.根据用户输入的序号执行不同的功能 -- 如果用户输入1,执行添加
if menu_num==1:
#添加学员
self.add_student()
elif menu_num==2:
#删除学员
self.del_student()
elif menu_num==3:
#修改学员信息
self.modif_student()
elif menu_num==4:
#查询学员信息
self.search_student()
elif menu_num==5:
#显示所有学员信息
self.show_student()
elif menu_num==6:
#保存学员信息
self.save_student()
elif menu_num==7:
#退出系统--退出循环
# break
self.load_student()
elif menu_num == 8:
# 退出系统--退出循环
# break
# 程序想要结束,退出终止while True -- break
exit_flag = input("确定要退出吗?yes or no")
if exit_flag == 'yes':
print("退出系统")
break
else:
print("输入的功能序号有误!")
#二.系统功能函数
#2.1显示功能菜单 -- 打印序号功能对应关系--静态
@staticmethod
def showmenu():
print("请选择如下功能:")
print("1:添加学员")
print("2:删除学员")
print("3:修改学员信息")
print("4:查询学员信息")
print("5:显示所有学员信息")
print("6:保存学员信息")
print("7:加载学员信息")
print("8:退出系统")
# 2.2添加学员
def add_student(self):
# print("添加学员")
#1.用户输入姓名,性别,手机号
name=input("请输入你的姓名:")
gender=input("请输入你的性别:")
tel=input("请输入你的手机号:")
#2.创建学员对象--类,类在student文件里面 先导入student模块,在创建对象
student=Student(name,gender,tel)
#3.将该对象添加到学员列表
self.student__list.append(student)
# print(123)
# print(self.student__list)
print(student)
# 2.3删除学员
def del_student(self):
# print("删除学员")
#1.用户输入目标学员姓名
del_name=input("请输入要删除的学员姓名:")
#2.遍历学员列表,如果用户输入的学员存在,则删除学员对象。否则提示学员不存在
for i in self.student__list:
if del_name==i.name:
#删除学员对象
# self.student__list.remove(i)
break
else:
#循环正常结束执行代码:循环结束都没有删除任何一个对象,所以说明用户输入的目标学员不存在。
print("查无此人!")
print(self.student__list)
# 2.4修改学员信息
def modif_student(self):
#print("修改学员信息")
# 1.用户输入目标学员姓名
modify_name=input("请输入要修改的学员姓名:")
#2遍历列表数据,如果学员存在,修改姓名,性别,手机号。否则提示学员不存在
for i in self.student__list:
if modify_name==i.name:
i.name=input("姓名:")
i.gender=input("性别:")
i.tel=input("手机号:")
print(f"修改学员信息成功,姓名:{i.name},性别:{i.gender},手机号:{i.tel}")
break
else:
print("查无此人!")
# 2.5查询学员信息
def search_student(self):
# print("查询学员信息")
#1.用户输入目标学员姓名
search_name=input("请输入你要搜索的学员姓名:")
#2.遍历列表。如果学员存在打印学员信息,否则提示学员不存在
for i in self.student__list:
if search_name==i.name:
print(f"姓名是:{i.name},性别是:{i.gender},手机号是:{i.tel}")
break
else:
print("查无此人!")
# 2.6显示所有学员信息
def show_student(self):
# print("显示所有学员信息")
#1.打印表头
print("姓名t性别t手机号")
#2.打印学员数据
for i in self.student__list:
print(f"{i.name}t{i.gender}t{i.tel}")
# 2.7保存学员信息
def save_student(self):
# print("保存学员信息")
#1.打印文件
f=open("student.data","a")
#2.文件写入数据
#2.1[学员对象]转换成[字典]
new_list=[i.__dict__ for i in self.student__list]
#2.2文件写入 字符串数据
f.write(str(new_list))
#3.关闭文件
f.close()
# 2.8加载学员信息
def load_student(self):
# print("加载学员信息")
with open("student.data","r") as file:
showAll=file.read()
print(showAll,"n")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)