python面向对象的学生信息管理系统
目录
student.py
此部分为学生类
class Student(object):
def __init__(self, sName, sAge, sNumber, tele_num):
self.sName = sName
self.sAge = sAge
self.sNumber = sNumber
self.tele_num = tele_num
student_manage_system.py
此部分为学生信息管理系统类
from student import Student
class StudentManageSystem(object):
def __init__(self):
self.student_list = []
self.menu()
def add_student(self):
sName = input("请输入学生姓名:")
sAge = eval(input("请输入学生年龄:"))
sNumber = eval(input("请输入学生学号:"))
tele_num = eval(input("请输入手机号码:"))
student = Student(sName, sAge,sNumber ,tele_num)
self.student_list.append(student)
print("增加成功")
input("按任意键返回菜单")
def modify_student(self):
num = eval(input("请输入学生学号:"))
index1 = -1
for i, dict1 in enumerate(self.student_list):
if dict1.__dict__.get("sNumber") == num:
index1 = i
break
if index1 != -1:
self.student_list[index1].__dict__['sName'] = input("请输入新的姓名:")
self.student_list[index1].__dict__['sAge'] = eval(input("请输入新的年龄:"))
self.student_list[index1].__dict__['sNumber'] = eval(input("请输入新的学号:"))
self.student_list[index1].__dict__['tele_num'] = eval(input("请输入新的手机号:"))
print("修改成功")
else:
print("无此学生")
input("按任意键返回菜单")
def delete_student(self):
num = eval(input("请输入要删除学生的学号:"))
index1 = -1
for i, dict1 in enumerate(self.student_list):
if dict1.__dict__.get("sNumber") == num:
index1 = i
break
if index1 != -1:
del self.student_list[index1]
print("删除成功")
else:
print("无此学生")
input("按任意键返回菜单")
def search_student(self):
num = eval(input("请输入要查询学生的学号:"))
index1 = -1
for i, dict1 in enumerate(self.student_list):
if dict1.__dict__.get("sNumber") == num:
index1 = i
break
if index1 != -1:
print("姓名:%s 年龄:%d 学号:%d 手机号码:%d" % (self.student_list[index1].__dict__["sName"], self.student_list[index1].__dict__["sAge"], \
self.student_list[index1].__dict__["sNumber"], self.student_list[index1].__dict__["tele_num"]))
else:
print("无此学生")
input("按任意键返回菜单")
def display_students(self):
if len(self.student_list) == 0:
print("无成员")
else:
for dict1 in self.student_list:
print("姓名:%s 年龄:%d 学号:%d 手机号码:%d" % (dict1.__dict__["sName"], dict1.__dict__["sAge"], \
dict1.__dict__["sNumber"], dict1.__dict__["tele_num"]))
input("按任意键返回菜单")
def write_file(self):
file = open("student_list.data", 'w', encoding='utf-8')
for student in self.student_list:
file.write(str(student.__dict__) + '\n')
file.close()
input("录入成功,按任意键返回菜单!")
def read_file(self):
try:
file = open("student_list.data", 'r', encoding='utf-8')
content = file.readlines()
for student in content:
self.student_list.append(Student(eval(student)['sName'], \
eval(student)['sAge'], eval(student)['sNumber'],
eval(student)['tele_num']))
file.close()
input("读取完成,按任意键返回菜单!")
except:
print("文件不存在")
def menu(self):
while True:
print("-----------学生管理系统-----------")
print("1、增加学生信息")
print("2、修改学生信息")
print("3、删除学生信息")
print("4、查询学生信息")
print("5、显示所有学生信息")
print("6、将数据录入文件")
print("7、读取文件数据")
print("8、退出系统")
print("------------版本号2.0------------")
info = eval(input("\n请输入你要操作的序号:"))
if info == 1:
self.add_student()
elif info == 2:
self.modify_student()
elif info == 3:
self.delete_student()
elif info == 4:
self.search_student()
elif info == 5:
self.display_students()
elif info == 6:
self.write_file()
elif info == 7:
self.read_file()
else:
print("感谢您的使用,欢迎下次再来!")
exit()
main.py
函数的开始部分
from student_manage_system import StudentManageSystem
if __name__ == '__main__':
system = StudentManageSystem()
部分功能演示