使用Python写学生管理系统
时间: 2024-02-16 15:57:28 浏览: 20
以下是使用Python编写学生管理系统的基本步骤:
1. 定义学生类,包括学生的姓名、学号、年龄、性别、成绩等信息。
2. 定义管理系统类,包括添加学生、删除学生、修改学生信息、查询学生信息等功能。
3. 使用文件存储学生信息,包括学生的姓名、学号、年龄、性别、成绩等信息。
4. 实现用户界面,包括菜单、输入输出等。
以下是一个简单的示例代码:
```python
import pickle
class Student:
def __init__(self, name, id, age, gender, score):
self.name = name
self.id = id
self.age = age
self.gender = gender
self.score = score
class StudentManagementSystem:
def __init__(self):
self.students = []
self.load_students()
def add_student(self, student):
self.students.append(student)
self.save_students()
def remove_student(self, id):
for student in self.students:
if student.id == id:
self.students.remove(student)
self.save_students()
return True
return False
def update_student(self, id, name, age, gender, score):
for student in self.students:
if student.id == id:
student.name = name
student.age = age
student.gender = gender
student.score = score
self.save_students()
return True
return False
def query_student(self, id):
for student in self.students:
if student.id == id:
return student
return None
def query_all_students(self):
return self.students
def save_students(self):
with open('students.dat', 'wb') as f:
pickle.dump(self.students, f)
def load_students(self):
try:
with open('students.dat', 'rb') as f:
self.students = pickle.load(f)
except:
self.students = []
def main():
sms = StudentManagementSystem()
while True:
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询学生信息')
print('5.查询所有学生信息')
print('0.退出系统')
choice = input('请输入您的选择:')
if choice == '1':
name = input('请输入学生姓名:')
id = input('请输入学生学号:')
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
score = input('请输入学生成绩:')
student = Student(name, id, age, gender, score)
sms.add_student(student)
print('添加成功!')
elif choice == '2':
id = input('请输入学生学号:')
if sms.remove_student(id):
print('删除成功!')
else:
print('删除失败,学号不存在!')
elif choice == '3':
id = input('请输入学生学号:')
name = input('请输入学生姓名:')
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
score = input('请输入学生成绩:')
if sms.update_student(id, name, age, gender, score):
print('修改成功!')
else:
print('修改失败,学号不存在!')
elif choice == '4':
id = input('请输入学生学号:')
student = sms.query_student(id)
if student:
print('姓名:', student.name)
print('学号:', student.id)
print('年龄:', student.age)
print('性别:', student.gender)
print('成绩:', student.score)
else:
print('查询失败,学号不存在!')
elif choice == '5':
students = sms.query_all_students()
for student in students:
print('姓名:', student.name)
print('学号:', student.id)
print('年龄:', student.age)
print('性别:', student.gender)
print('成绩:', student.score)
elif choice == '0':
break
else:
print('输入有误,请重新输入!')
if __name__ == '__main__':
main()
```