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

复制代码
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 类表示学生管理系统。学生管理系统具有添加学生、查找学生和打印所有学生的功能。

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

相关推荐
ZeroToOneDev2 小时前
Java(泛型和JUnit)
java·开发语言·笔记
许野平3 小时前
Rust:构造函数 new() 如何进行错误处理?
开发语言·后端·rust
先做个垃圾出来………4 小时前
如何培养自己工程化的能力(python项目)
开发语言·python
mortimer4 小时前
Hugging Face 下载模型踩坑记:从符号链接到网络错误
人工智能·python·ai编程
amazinging5 小时前
北京-4年功能测试2年空窗-报培训班学测开-第七十三天-投递简历-[特殊字符][特殊字符]
python·学习
Hemy086 小时前
QT_QUICK_BACKEND 环境变量详解(AI生成)
开发语言·qt
艾莉丝努力练剑6 小时前
深入详解C语言的循环结构:while循环、do-while循环、for循环,结合实例,讲透C语言的循环结构
c语言·开发语言·c++·学习
IMER SIMPLE7 小时前
人工智能-python-机器学习-线性回归与梯度下降:理论与实践
人工智能·python·机器学习
胖墩会武术7 小时前
【图像处理】小波变换(Wavelet Transform,WT)
图像处理·python