用代码写一个学生管理系统

复制代码
class Student:
    def __init__(self, name, age, grade):
        self.name = name
        self.age = age
        self.grade = grade

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

    def add_student(self, name, age, grade):
        student = Student(name, age, grade)
        self.students.append(student)
        print("学生已添加")

    def find_student(self, name):
        for student in self.students:
            if student.name == name:
                return student
        return None

    def print_all_students(self):
        if len(self.students) == 0:
            print("当前没有学生")
        else:
            for student in self.students:
                print(f"姓名: {student.name}, 年龄: {student.age}, 成绩: {student.grade}")

# 测试学生管理系统
sms = StudentManagementSystem()

while True:
    print("-------------------------------")
    print("请选择要执行的操作:")
    print("1. 添加学生")
    print("2. 查找学生")
    print("3. 打印所有学生")
    print("4. 退出")
    choice = input("请输入选择的操作 (1/2/3/4): ")

    if choice == "1":
        name = input("请输入学生姓名: ")
        age = int(input("请输入学生年龄: "))
        grade = int(input("请输入学生成绩: "))
        sms.add_student(name, age, grade)
    elif choice == "2":
        name = input("请输入要查找的学生姓名: ")
        student = sms.find_student(name)
        if student:
            print(f"姓名: {student.name}, 年龄: {student.age}, 成绩: {student.grade}")
        else:
            print("未找到该学生")
    elif choice == "3":
        sms.print_all_students()
    elif choice == "4":
        break
    else:
        print("无效的选择")

此代码创建了两个类:StudentStudentManagementSystemStudent 类表示一个学生,StudentManagementSystem 类表示学生管理系统。学生管理系统具有添加学生、查找学生和打印所有学生的功能。

您可以运行此代码并按照提示进行操作,添加、查找和打印学生信息。

相关推荐
maxmaxma12 分钟前
ROS2机器人少年创客营:Python第三课
开发语言·python·机器人·ros2
Derrick__115 分钟前
Android混淆和加密技术
android·jvm·python
J2虾虾36 分钟前
Java使用jcifs读取Windows的共享文件
java·开发语言·windows
gzroy42 分钟前
Dify插件开发--Markdown+Mermaid转Docx
python·dify插件
421!1 小时前
C 语言学习笔记——11(函数指针与指针函数)
c语言·开发语言·笔记·单片机·学习
Dxy12393102161 小时前
Python如何使用正则判断是否是姓名
数据库·python·mysql
cch89181 小时前
汇编与C语言:底层对话VS高效指挥
c语言·开发语言·汇编
♪-Interpretation1 小时前
第七节:Python的内置容器
开发语言·python
551只玄猫1 小时前
【数学建模 matlab 实验报告8】回归分析
开发语言·数学建模·matlab·课程设计·实验报告
天若有情6731 小时前
Python精神折磨系列(完整11集·无断层版)
数据库·python·算法