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

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

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

相关推荐
天若有情6733 小时前
打破思维定式!C++参数设计新范式:让结构体替代传统参数列表
java·开发语言·c++
斯特凡今天也很帅3 小时前
python测试SFTP连通性
开发语言·python·ftp
sunywz3 小时前
【JVM】(4)JVM对象创建与内存分配机制深度剖析
开发语言·jvm·python
亲爱的非洲野猪3 小时前
从ReentrantLock到AQS:深入解析Java并发锁的实现哲学
java·开发语言
星火开发设计3 小时前
C++ set 全面解析与实战指南
开发语言·c++·学习·青少年编程·编程·set·知识
wheelmouse77883 小时前
如何设置VSCode打开文件Tab页签换行
java·python
0思必得03 小时前
[Web自动化] Selenium基础介绍
前端·python·selenium·自动化·web自动化
沛沛老爹3 小时前
Web开发者进阶AI:Agent Skills-深度迭代处理架构——从递归函数到智能决策引擎
java·开发语言·人工智能·科技·架构·企业开发·发展趋势
Good_Starry3 小时前
Java——正则表达式
java·开发语言·正则表达式
二哈喇子!4 小时前
前端HTML、CSS、JS、VUE 汇总
开发语言·前端