class Student def __init__self id name classname phone address dorm selfid = id selfname = name selfclassname = classname selfphone = phone selfaddress = address
定义学生类,包含学号、姓名、班级、电话、家庭住址、宿舍号
class Student: def init(self, id, name, classname, phone, address, dorm): self.id = id self.name = name self.classname = classname self.phone = phone self.address = address self.dorm = dorm
定义管理类,包含文件名、学生列表等属性和添加、修改、删除、查找、浏览等方法
class Manage: def init(self): self.filename = "students.txt" # 存储学生信息的文件名 self.students = [] # 学生列表
# 从文件中加载学生信息到列表中
def load_data(self):
try:
with open(self.filename, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if line:
id, name, classname, phone, address, dorm = line.split(",")
student = Student(id, name, classname, phone, address, dorm)
self.students.append(student)
except FileNotFoundError:
pass
# 将学生列表中的信息保存到文件中
def save_data(self):
with open(self.filename, "w", encoding="utf-8") as f:
for student in self.students:
line = "{},{},{},{},{},{}\n".format(student.id, student.name, student.classname, student.phone, student.address, student.dorm)
f.write(line)
# 添加学生信息
def add_student(self):
id = input("请输入学号:")
name = input("请输入姓名:")
classname = input("请输入班级:")
phone = input("请输入电话:")
address = input("请输入家庭住址:")
dorm = input("请输入宿舍号:")
student = Student(id, name, classname, phone, address, dorm)
self.students.append(student)
self.save_data()
print("添加成功!")
# 修改学生信息
def modify_student(self):
id = input("请输入要修改信息的学生学号:")
for student in self.students:
if student.id == id:
print("学号\t姓名\t班级\t电话\t家庭住址\t宿舍号")
print("{}\t{}\t{}\t{}\t{}\t{}".format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
choice = input("请选择要修改的信息(1-班级 2-电话 3-家庭住址 4-宿舍号 0-取消):")
if choice == "1":
classname = input("请输入新的班级:")
student.classname = classname
self.save_data()
print("修改成功!")
elif choice == "2":
phone = input("请输入新的电话:")
student.phone = phone
self.save_data()
print("修改成功!")
elif choice == "3":
address = input("请输入新的家庭住址:")
student.address = address
self.save_data()
print("修改成功!")
elif choice == "4":
dorm = input("请输入新的宿舍号:")
student.dorm = dorm
self.save_data()
print("修改成功!")
elif choice == "0":
print("取消修改!")
else:
print("输入有误!")
return
print("没有找到该学生!")
# 删除学生信息
def delete_student(self):
id_or_name = input("请输入要删除信息的学生学号或姓名:")
for student in self.students:
if student.id == id_or_name or student.name == id_or_name:
self.students.remove(student)
self.save_data()
print("删除成功!")
return
print("没有找到该学生!")
# 查找学生信息
def search_student(self):
id_or_name = input("请输入要查找信息的学生学号或姓名:")
for student in self.students:
if student.id == id_or_name or student.name == id_or_name:
print("学号\t姓名\t班级\t电话\t家庭住址\t宿舍号")
print("{}\t{}\t{}\t{}\t{}\t{}".format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
return
print("没有找到该学生!")
# 浏览所有学生信息
def show_students(self):
print("学号\t姓名\t班级\t电话\t家庭住址\t宿舍号")
for student in self.students:
print("{}\t{}\t{}\t{}\t{}\t{}".format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
# 启动管理系统
def start(self):
self.load_data()
while True:
print("===== 学生信息管理系统 =====")
print("1. 录入学生信息")
print("2. 修改学生信息")
print("3. 删除学生信息")
print("4. 查找学生信息")
print("5. 浏览所有学生信息")
print("6. 退出系统")
choice = input("请选择功能(1-6):")
if choice == "1":
self.add_student()
elif choice == "2":
self.modify_student()
elif choice == "3":
self.delete_student()
elif choice == "4":
self.search_student()
elif choice == "5":
self.show_students()
elif choice == "6":
confirm = input("确定退出系统吗?(y/n):")
if confirm == "y":
print("谢谢使用!")
break
else:
print("输入有误!")
if name == 'main': manage = Manage() manage.start(
原文地址: https://www.cveoy.top/t/topic/gRWA 著作权归作者所有。请勿转载和采集!