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

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

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

相关推荐
邪修king4 分钟前
Re:Linux系统篇(十九):进程篇(八): 进程等待详解:wait/waitpid,僵尸进程到底该如何回收
java·开发语言
大汉堡玩测试15 分钟前
langfuse测试实战(一): 配置一个简单的项目快速落地
python·测试工具
我爱写代码i26 分钟前
SKAPP SK影视反编译详细教程+源码 含苹果端ipa
开发语言·javascript·ecmascript
一位正在转型AI全栈的前端工程师32 分钟前
AI 全栈学习之旅 -Week 8:从单 Agent 到多 Agent 协作:LangGraph 实战与记忆持久化
前端·python
长江后浪博客34 分钟前
Python + YOLOv8 疲劳驾驶 AI 视觉检测入门:从模型训练到 ONNX 实时摄像头检测完整实战
人工智能·python·yolo·疲劳驾驶检测·onnx·yolov8
吴声子夜歌1 小时前
Java扩展——OkHttp
java·开发语言·okhttp
hhzz1 小时前
【OpenCV 入门到精通 01】认识 OpenCV 与计算机视觉:从零建立全局认知
人工智能·python·opencv·计算机视觉·开源
啊阿狸不会拉杆1 小时前
《计算机网络-自顶向下方法》5.7 网络管理、SNMP和NETCONF/YANG 读书笔记
开发语言·计算机网络·php
长友cy1 小时前
Qt官方示例D-BusListNames阅读
开发语言
萧瑟余晖1 小时前
Java深入解析篇六十一之编译器API(javax.tools)详解
java·开发语言