正文
1. 函数实现
# 学生信息管理系统(函数实现)
# 定义一个空列表来存储学生信息
students = []
# 增
def add(list, id, name, age, score):
for student in list:
if student['id'] == id:
print("学号已存在!")
return
list.append({
'id':id,
'name':name,
'age':age,
'score':score
})
print("添加成功!")
# 删
def delete(list, id):
for i, student in enumerate(list):
if student['id'] == id:
list.pop(i)
print("删除成功!")
return
print("未找到该学生!")
# 改
def update(list, id, name = None, age = None, score = None):
for student in list:
if student['id'] == id:
if name: student['name'] = name
if age: student['age'] = age
if score: student['score'] = score
print("修改成功!")
return
print("未找到该学生的学号!")
# 查
def search(list, id):
for student in list:
if student['id'] == id:
print("找到学生信息:", student)
return
print("未找到该学号的学生!")
# 展示所有学生信息
def show(list):
if not list: print("没有学生信息!")
else:
for student in list: print(student)
def main():
while True:
print("\n==== 学生信息管理系统 ====")
print("1. 添加学生")
print("2. 删除学生")
print("3. 修改学生")
print("4.查询学生")
print("5. 显示所有学生")
print("6. 退出系统")
choice = input("请输入你的选择(1 - 6):")
if choice == '1':
id = input("请输入学号:")
name = input("请输入姓名:")
age = input("请输入年龄:")
score = input("请输入成绩:")
add(students, id, name, age, score)
elif choice == '2':
id = input("请输入要删除的学号:")
delete(students, id)
elif choice == '3':
id = input("请输入要修改的学号:")
name = input("请输入新姓名(不修改则留空):")
age = input("请输入新年龄(不修改则留空):")
score = input("请输入新成绩(不修改则留空):")
update(students, id, name, age, score)
elif choice == '4':
id = input("请输入要查询的学号:")
search(students, id)
elif choice == '5': show(students)
elif choice == '6':
print("退出系统,再见!")
break
else: print("输入错误,请重新输入!")
# 调用主函数
if __name__ == "__main__": main()
2. 面向对象实现
# 学生信息管理系统(面向对象)
# 定义 Student 类,用于表示一个学生对象
class Student:
def __init__(self, id, name, age, score):
self.id = id
self.name = name
self.age = age
self.score = score
def __str__(self): return f"学号: {self.id}, 姓名: {self.name}, 年龄: {self.age}, 成绩: {self.score}"
# 定义 StudentSystem 类,用于管理学生信息
class StudentSystem:
def __init__(self): self.students = []
# 增
def add(self, id, name, age, score):
for student in self.students:
if student.id == id:
print("该学号已存在!")
return
new_student = Student(id, name, age, score)
self.students.append(new_student)
print("添加成功!")
# 删
def delete(self, id):
for i, student in enumerate(self.students):
if student.id == id:
del self.students[i]
print("删除成功!")
return
print("未找到该学号的学生!")
# 改
def update(self, id, name=None, age=None, score=None):
for student in self.students:
if student.id == id:
if name: student.name = name
if age is not None: student.age = age
if score is not None: student.score = score
print("修改成功!")
return
print("未找到该学号的学生!")
# 查
def search(self, id):
for student in self.students:
if student.id == id:
print(student)
return
print("未找到该学号的学生!")
# 展示所有学生信息
def show(self):
if not self.students: print("没有学生信息!")
else:
for student in self.students: print(student)
def run(self):
while True:
print("\n===== 学生信息管理系统(面向对象版)=====")
print("1. 添加学生")
print("2. 删除学生")
print("3. 修改学生")
print("4. 查询学生")
print("5. 显示所有学生")
print("6. 退出系统")
choice = input("请输入你的选择(1-6):")
if choice == '1':
student_id = input("请输入学号:")
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
score = float(input("请输入成绩:"))
self.add(student_id, name, age, score)
elif choice == '2':
id = input("请输入要删除的学号:")
self.delete(id)
elif choice == '3':
id = input("请输入要修改的学号:")
name = input("请输入新姓名(不修改则留空):")
age_input = input("请输入新年龄(不修改则留空):")
score_input = input("请输入新成绩(不修改则留空):")
age = int(age_input) if age_input else None
score = float(score_input) if score_input else None
self.update(id, name, age, score)
elif choice == '4':
id = input("请输入要查询的学号:")
self.search(id)
elif choice == '5': self.show()
elif choice == '6':
print("退出系统,再见!")
break
else: print("输入错误,请重新输入!")
# 调用run方法启动系统
if __name__ == "__main__":
system = StudentSystem()
system.run()
3. 运行效果
结语
感谢您的阅读!期待您的一键三连!欢迎指正!