当前位置: 首页 > news >正文

学生管理系统(Python版本)

class Student:def __init__(self, id, name, age):self.id = idself.name = nameself.age = ageclass StudentManagementSystem:def __init__(self):self.students = []def add_student(self, student):self.students.append(student)print("学生信息添加成功!")def display_students(self):print("学生信息列表:")for student in self.students:print(f"ID: {student.id}, 姓名: {student.name}, 年龄: {student.age}")def find_student_by_id(self, id):for student in self.students:if student.id == id:return studentreturn Nonedef update_student(self):id = int(input("请输入要修改信息的学生ID:"))student = self.find_student_by_id(id)if student is None:print("找不到该学生信息。")returnstudent.name = input("请输入新的学生姓名:")student.age = int(input("请输入新的学生年龄:"))print("学生信息修改成功!")def delete_student(self):id = int(input("请输入要删除的学生ID:"))student = self.find_student_by_id(id)if student is None:print("找不到该学生信息。")returnself.students.remove(student)print("学生信息删除成功!")def main():sms = StudentManagementSystem()while True:print("\n学生管理系统")print("1. 添加学生信息")print("2. 显示学生信息")print("3. 修改学生信息")print("4. 删除学生信息")print("5. 退出")choice = int(input("请选择操作:"))if choice == 1:id = int(input("请输入学生ID:"))name = input("请输入学生姓名:")age = int(input("请输入学生年龄:"))new_student = Student(id, name, age)sms.add_student(new_student)elif choice == 2:sms.display_students()elif choice == 3:sms.update_student()elif choice == 4:sms.delete_student()elif choice == 5:print("退出程序。")breakelse:print("无效的选择,请重新输入。")if __name__ == "__main__":main()

Student 类:这是一个学生类,用于创建学生对象。它有三个属性:id、name 和 age。

StudentManagementSystem 类:这是管理学生信息的类。它包含了一个学生列表 students,并提供了添加、显示、修改和删除学生信息的方法。

main() 函数:这是程序的入口函数。在这里,我们创建一个 StudentManagementSystem 对象,并根据用户的选择执行相应的操作。

通过用户输入来获取学生的信息,并使用相应的方法来处理。根据用户的选择,程序会执行添加、显示、修改和删除学生信息等操作。

这个 Python 学生管理系统示例相较于之前的 C 代码更为简洁,体现了 Python 的优雅和易用性。它使用了类来组织数据和功能,使代码更加模块化和可读性更高。

http://www.lryc.cn/news/120694.html

相关文章:

  • Linux下快速创建大文件的4种方法总结
  • 用 Rufus 制作 Ubuntu 系统启动盘时,选择分区类型为MBR还是GPT?
  • Nodejs+vue+elementui汽车租赁管理系统_1ma2x
  • Prometheus入门
  • RISC-V云测平台:Compiling The Fedora Linux Kernel Natively on RISC-V
  • Vim学习(三)—— Git Repo Gerrit
  • 论坛项目之用户部分
  • golang内存对齐
  • 【CheatSheet】Python、R、Julia数据科学编程极简入门
  • 【golang】怎样判断一个变量的类型?
  • 怎么学习AJAX相关技术? - 易智编译EaseEditing
  • JDK、JRE、JVM:揭秘Java的关键三者关系
  • 【reactNative混合安卓开发~使用问题持续更】
  • OCR的发明人是谁?
  • 笔记本电脑连上WiFi之后的IP为什么会变?如何让它不变固定住?
  • 【数学建模】--因子分析模型
  • RAM不够?CUBEIDE使用CCMRAM
  • npm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency tree
  • 使用 prometheus client SDK 暴露指标
  • Jmeter之BeanShell取出参数进行四则运算,并判断是否正确
  • PYTHON 斗地主发牌 (简易版)
  • CSS文本裁剪
  • ClickHouse常见的引擎和使用
  • 构建之法 - 软件工程实践教学:一线教师的13问
  • 联调 matlab 遇到的一些事儿
  • 时序预测 | Matlab实现基于GRNN广义回归神经网络的电力负荷预测模型
  • 3.2 Tomcat基础
  • 认识http的方法、Header、状态码以及简单实现一个http的业务逻辑
  • Faiss在windows下安装和使用
  • 【JavaEE进阶】SpringBoot项目的创建