python程序设计——学生管理系统程序

159 阅读2分钟

引言

本次实验的目标是设计并实现一个管理学生信息的程序,通过该系统,可以实现对学生信息的管理。

一、学生管理系统功能分析

  • 添加学生:向系统中添加新的学生信息。

  • 删除学生:从系统中删除指定学号的学生信息。

  • 修改学生信息:修改学生的姓名、年龄、性别等信息。

  • 查询学生信息:根据学号或姓名查询学生的详细信息。

  • 显示所有学生信息:展示系统中所有学生的信息。

  • 保存学生信息:将学生信息保存到文件中,以便下次程序启动时加载数据。

  • 退出系统:退出学生管理系统。

二、学生管理系统python代码

class Student:
    def __init__(self, student_id, name, age, gender):
        self.student_id = student_id
        self.name = name
        self.age = age
        self.gender = gender

    def display_info(self):
        print(f"学号:{self.student_id}")
        print(f"姓名:{self.name}")
        print(f"年龄:{self.age}")
        print(f"性别:{self.gender}")


class StudentManagementSystem:
    def __init__(self):
        self.students = []

    def add_student(self, student):
        self.students.append(student)

    def remove_student(self, student_id):
        for student in self.students:
            if student.student_id == student_id:
                self.students.remove(student)
                print("删除成功!")
                return
        print("未找到学号对应的学生!")

    def modify_student_info(self, student_id, name, age, gender):
        for student in self.students:
            if student.student_id == student_id:
                student.name = name
                student.age = age
                student.gender = gender
                print("修改成功!")
                return
        print("未找到学号对应的学生!")

    def search_student_info(self, keyword):
        for student in self.students:
            if keyword in (student.student_id, student.name):
                student.display_info()

    def display_all_students(self):
        if len(self.students) == 0:
            print("系统中暂无学生信息!")
        else:
            for student in self.students:
                student.display_info()

    def save_students_info(self, filename):
        with open(filename, "w") as file:
            for student in self.students:
                file.write(f"{student.student_id},{student.name},{student.age},{student.gender}\n")
        print("学生信息保存成功!")

    def load_students_info(self, filename):
        self.students = []
        try:
            with open(filename, "r") as file:
                lines = file.readlines()
                for line in lines:
                    student_data = line.strip().split(",")
                    student = Student(student_data[0], student_data[1], int(student_data[2]), student_data[3])
                    self.students.append(student)
            print("学生信息加载成功!")
        except FileNotFoundError:
            print("找不到指定的学生信息文件!")



system = StudentManagementSystem()

# 加载学生信息
system.load_students_info("students.txt")

while True:
    print("===== 学生管理系统 =====")
    print("1. 添加学生")
    print("2. 删除学生")
    print("3. 修改学生信息")
    print("4. 查询学生信息")
    print("5. 显示所有学生信息")
    print("6. 保存学生信息")
    print("7. 退出系统")
    choice = input("请输入操作编号:")

    if choice == "1":
        student_id = input("请输入学号:")
        name = input("请输入姓名:")
        age = int(input("请输入年龄:"))
        gender = input("请输入性别:")
        student = Student(student_id, name, age, gender)
        system.add_student(student)
        print("添加成功!")

    elif choice == "2":
        student_id = input("请输入要删除的学号:")
        system.remove_student(student_id)

    elif choice == "3":
        student_id = input("请输入要修改的学号:")
        name = input("请输入姓名:")
        age = int(input("请输入年龄:"))
        gender = input("请输入性别:")
        system.modify_student_info(student_id, name, age, gender)

    elif choice == "4":
        keyword = input("请输入要查询的学号或姓名关键字:")
        system.search_student_info(keyword)

    elif choice == "5":
        system.display_all_students()

    elif choice == "6":
        system.save_students_info("students.txt")

    elif choice == "7":
        break

    else:
        print("无效的操作编号,请重新输入!")

print("感谢使用学生管理系统,再见!")




三、程序运行样例

image.png

四、总结

以上就是学生管理系统程序的功能、python代码及运行样例的全部内容。