【Python】Python项目实践:一步步教你用Python实现学生信息管理系统

244 阅读6分钟

🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,全网11W+粉丝博主,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,同时还运营着十几个不同主题的技术交流群,如有需要请站内私信或者联系VX(gylzbk),互相学习共同进步。

本文详细介绍了如何使用Python实现一个简易的学生信息管理系统。该系统通过类的设计,采用命令行界面,支持学生信息的添加、删除、修改、查询和展示所有学生信息。其中,Student类负责学生基本信息的定义,而StudentManagementSystem类则实现了各类操作功能。文章不仅给出了完整的代码实现,还通过Mermaid绘制了系统的架构图,帮助读者更加直观地理解系统结构。最后,文章为新手编程者提供了详细的代码解释和步骤,旨在帮助读者通过实践巩固Python基础知识。希望读者通过本文,能够独立实现类似的管理系统,提高编程技能。

在这里插入图片描述


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

简介

在这篇博客中,我们将介绍如何使用Python实现一个简易的学生信息管理系统。这个系统包括添加学生、删除学生、修改学生信息、查询学生以及显示所有学生信息的功能。由于这是面向初学者的教程,所以我们会详细解释每一部分的代码,确保你能理解每个步骤。

系统功能

  1. 添加学生:录入新的学生信息。
  2. 删除学生:根据学号删除学生信息。
  3. 修改学生:修改已存在的学生信息。
  4. 查询学生:根据学号查询学生信息。
  5. 显示所有学生:展示所有学生的信息。
  6. 退出系统:退出管理系统。

代码实现

我们先来看一下代码整体结构:

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

    def __str__(self):
        return f"学号: {self.student_id}, 姓名: {self.name}, 年龄: {self.age}"

Student

这个类用于定义学生的信息,包括姓名、年龄和学号。__str__方法的作用是在打印学生对象时返回一个可读的字符串形式。

class StudentManagementSystem:
    def __init__(self):
        self.students = {}

    def add_student(self, student):
        if student.student_id in self.students:
            print(f"学号为 {student.student_id} 的学生已经存在。")
        else:
            self.students[student.student_id] = student
            print(f"学生 {student.name} 添加成功。")

StudentManagementSystem

这个类是我们实现学生信息管理系统的核心。它包含多个方法用于管理学生信息。初始化时,我们使用一个字典来存储学生信息,键是学生的学号,值是学生对象。

增加学生

    def add_student(self, student):
        if student.student_id in self.students:
            print(f"学号为 {student.student_id} 的学生已经存在。")
        else:
            self.students[student.student_id] = student
            print(f"学生 {student.name} 添加成功。")

这个方法用于添加学生信息。首先检查该学号是否存在,如果不存在就添加学生信息。

在这里插入图片描述

删除学生

    def delete_student(self, student_id):
        if student_id in self.students:
            del self.students[student_id]
            print(f"学号为 {student_id} 的学生删除成功。")
        else:
            print(f"学号为 {student_id} 的学生不存在。")

这个方法用于删除学生信息。根据学号查找学生信息,如果存在则删除。 在这里插入图片描述

修改学生

    def update_student(self, student_id, name=None, age=None):
        if student_id in self.students:
            if name:
                self.students[student_id].name = name
            if age:
                self.students[student_id].age = age
            print(f"学号为 {student_id} 的学生信息更新成功。")
        else:
            print(f"学号为 {student_id} 的学生不存在。")

该方法用于更新学生信息,可以修改学生的姓名和年龄。 在这里插入图片描述

查询学生

    def search_student(self, student_id):
        if student_id in self.students:
            print(self.students[student_id])
        else:
            print(f"学号为 {student_id} 的学生不存在。")

通过学号查询学生信息,并打印出该学生的信息。 在这里插入图片描述

显示所有学生

    def display_all_students(self):
        if self.students:
            for student in self.students.values():
                print(student)
        else:
            print("没有学生信息。")

遍历所有的学生信息,并打印出来。

在这里插入图片描述

主函数

def main():
    system = StudentManagementSystem()
    
    while True:
        print("\n学生信息管理系统")
        print("1. 添加学生")
        print("2. 删除学生")
        print("3. 修改学生")
        print("4. 查询学生")
        print("5. 显示所有学生")
        print("6. 退出")
        choice = input("请输入你的选择: ")
        
        if choice == '1':
            name = input("请输入姓名: ")
            age = int(input("请输入年龄: "))
            student_id = input("请输入学号: ")
            student = Student(name, age, student_id)
            system.add_student(student)
            
        elif choice == '2':
            student_id = input("请输入要删除的学生学号: ")
            system.delete_student(student_id)
            
        elif choice == '3':
            student_id = input("请输入要修改的学生学号: ")
            name = input("请输入新的姓名(留空则不修改): ")
            age = input("请输入新的年龄(留空则不修改): ")
            age = int(age) if age else None
            system.update_student(student_id, name or None, age)

        elif choice == '4':
            student_id = input("请输入要查询的学生学号: ")
            system.search_student(student_id)
            
        elif choice == '5':
            system.display_all_students()
            
        elif choice == '6':
            print("退出系统...")
            break
            
        else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    main()

程序运行

我们在主函数中使用了一个无限循环来反复展示用户菜单,并根据用户的选择执行相应的操作。每一个选择都对应前面定义的功能,比如添加学生、删除学生等。当用户选择6时,程序退出。

在这里插入图片描述

总结

通过这个系统,你可以看到使用Python编写一个简单的学生信息管理系统是多么的直观。希望通过这篇博客,你能理解每一部分代码的含义,并能动手实现类似的小程序来提升自己的编程能力。如果你有任何问题或建议,欢迎留言讨论!

Happy Coding! 😊