Python 学生信息管理系统:添加、修改、删除、查找、浏览功能
定义学生类,包含学号、姓名、班级、电话、家庭住址、宿舍号
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 = '{},{},{},{},{},{}
'.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('学号 姓名 班级 电话 家庭住址 宿舍号')
print('{} {} {} {} {} {}'.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('学号 姓名 班级 电话 家庭住址 宿舍号')
print('{} {} {} {} {} {}'.format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
return
print('没有找到该学生!')
# 浏览所有学生信息
def show_students(self):
print('学号 姓名 班级 电话 家庭住址 宿舍号')
for student in self.students:
print('{} {} {} {} {} {}'.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/oyzj 著作权归作者所有。请勿转载和采集!