使用类模拟数据库的增、删、改、查。用python写一个学生信息管理系统1、输入并存储学生的信息 2、修改学生信息 3、删除学生信息 4、成绩排序 5、查找学生信息
时间: 2023-10-19 18:05:45 浏览: 71
好的,这是一个比较复杂的任务,需要使用到类、列表、循环等知识。我将为你提供一个基本的框架,你可以在此基础上自行完善。
```
class Student:
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
class StudentDatabase:
def __init__(self):
self.students = []
def add_student(self, name, age, grade):
student = Student(name, age, grade)
self.students.append(student)
def update_student(self, name, age, grade):
for student in self.students:
if student.name == name:
student.age = age
student.grade = grade
break
def delete_student(self, name):
for student in self.students:
if student.name == name:
self.students.remove(student)
break
def sort_students_by_grade(self):
self.students.sort(key=lambda x: x.grade, reverse=True)
def search_student(self, name):
for student in self.students:
if student.name == name:
return student
return None
# 测试代码
db = StudentDatabase()
db.add_student("张三", 18, 90)
db.add_student("李四", 19, 80)
db.add_student("王五", 20, 70)
print("添加学生成功!")
print(db.students)
db.update_student("李四", 20, 85)
print("修改学生信息成功!")
print(db.students)
db.delete_student("王五")
print("删除学生信息成功!")
print(db.students)
db.sort_students_by_grade()
print("成绩排序成功!")
print(db.students)
student = db.search_student("张三")
if student:
print("查找学生信息成功!")
print(student.name, student.age, student.grade)
else:
print("查找学生信息失败!")
```
这里我们定义了两个类:`Student` 表示一个学生,包含姓名、年龄和成绩;`StudentDatabase` 表示一个学生信息数据库,包含增、删、改、查等操作。其中,`add_student` 方法用于添加学生,`update_student` 方法用于修改学生信息,`delete_student` 方法用于删除学生信息,`sort_students_by_grade` 方法用于按照成绩排序,`search_student` 方法用于查找学生信息。你可以根据自己的需求修改这些方法的实现。
在测试代码中,我们首先创建了一个 `StudentDatabase` 对象,并添加了三个学生。然后我们分别测试了各个操作的实现,并打印出结果。你可以自己尝试运行代码,理解每个操作的实现。
阅读全文