基于Python的学生信息管理系统考查要求:使用Python语言开发一个学生信息管理系统该系统可以帮助老师快速录入学生的信息并对学生信息进行基本的增、删、改、查操作实时地将学生信息保存到文件中方便查看。该学生信息管理系统具体包含以下六大模块:1录入学生信息模块2修改学生信息模块3删除学生信息模块4查找学生信息模块5浏览所有学生信息模块6退出系统模块在主界面中显示功能菜单选项选择相应的功能后分别调用
实现思路:
- 创建一个学生类,包含学号、姓名、班级、电话、家庭住址、宿舍号等属性;
- 创建一个管理类,包含录入、修改、删除、查找、浏览所有学生信息等方法;
- 在管理类中,使用文件读写来保存学生信息;
- 在主函数中,显示功能菜单选项,根据用户选择调用相应的管理类方法实现相应的功能;
- 实现异常处理,如输入不合法等情况下给出相应的提示信息。
代码实现:
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()
使用示例:
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):5
学号 姓名 班级 电话 家庭住址 宿舍号
202201001 张三 计科2202 1235 湖北省武汉市武设信工院 7栋304
202201002 赵李 软工2201 1233 湖北省武汉市武设信工院 5栋102
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):1
请输入学号:202201003
请输入姓名:王五
请输入班级:软工2202
请输入电话:1234
请输入家庭住址:湖北省武汉市洪山区
请输入宿舍号:6栋302
添加成功!
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):2
请输入要修改信息的学生学号:202201002
学号 姓名 班级 电话 家庭住址 宿舍号
202201002 赵李 软工2201 1233 湖北省武汉市武设信工院 5栋102
请选择要修改的信息(1-班级 2-电话 3-家庭住址 4-宿舍号 0-取消):4
请输入新的宿舍号:5栋103
修改成功!
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):3
请输入要删除信息的学生学号或姓名:王五
删除成功!
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):4
请输入要查找信息的学生学号或姓名:202201001
学号 姓名 班级 电话 家庭住址 宿舍号
202201001 张三 计科2202 1235 湖北省武汉市武设信工院 7栋304
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):6
确定退出系统吗?(y/n):y
谢谢使用!
``
原文地址: https://www.cveoy.top/t/topic/gRVE 著作权归作者所有。请勿转载和采集!