学生管理系统 面向对象

news/2024/11/9 16:43:22/

创建一个实例对象后 把实例对象添加到列表后
每次遍历列表 都能获得一个实例对象
然后就可以使用实例对象的属性和方法了

python">'''
学生管理系统 面向对象
两个类 学生管理类 学生类
'''# 学生类
# 属性 姓名 电话
class Student:def __init__(self, name, phone):self.name = nameself.phone = phonedef __str__(self):return 'name:{}, phone:{}'.format(self.name, self.phone)# 学生管理类
# 属性 学生列表
class StudentManager:def __init__(self):self.student_lst = []  # 学生列表# 静态方法 菜单功能@staticmethoddef menu():print('欢迎使用学生管理系统')print('1.添加学生')print('2.删除学生')print('3.修改学生')print('4.查询学生')print("5.展示所有学生")print('6.退出系统')# 执行各种方法的 总函数 类似于main()函数def run(self):while True:self.menu()choice = input('请输入你的选择:')if choice == '1':self.add_student()elif choice == '2':self.delete_student()elif choice == '3':self.update_student()elif choice == '4':self.query_student()elif choice == '5':self.show_all_student()elif choice == '6':breakelse:print('请输入正确的选择')# 1.添加学生def add_student(self):name = input('请输入学生姓名:')# #判断是否已经存在了# for student in self.student_lst:#  if student['name'] == name:#     print('该学生已经存在')#     break# else:#  phone = input('请输入学生电话:')##  student = Student(name, phone)#  self.student_lst.append(student)#  print('添加成功')#  print(student.__dict__) # 打印字典# 面向对象for student in self.student_lst:if student.name == name:print('该学生已经存在')breakelse:phone = input('请输入学生电话:')student = Student(name, phone) ## 创建一个Student实例self.student_lst.append(student) # 将实例添加到列表中print('添加成功')# print(student.__dict__)# 2.删除学生def delete_student(self):name = input('请输入要删除的学生姓名:')for student in self.student_lst:if student.name == name:self.student_lst.remove(student)print('删除成功')breakelse:print('该学生不存在')return# 3.修改学生def update_student(self):name = input('请输入要修改的学生姓名:')for student in self.student_lst:if student.name == name:re_name = input('请输入要修改的学生姓名:')phone = input('请输入要修改的学生电话:')student.name = re_namestudent.phone = phoneprint('修改成功')breakelse:print('该学生不存在')return# 4.查询学生def query_student(self):name = input('请输入要查询的学生姓名:')for student in self.student_lst: #student变量在每次迭代中引用列表中的不同Student实例。if student.name == name:print(student)breakelse:print('该学生不存在')return# 5.展示所有学生def show_all_student(self):for student in self.student_lst:print(student.__dict__) # 打印字典# print(student) # 打印实例if __name__ == '__main__':s = StudentManager()s.run()

http://www.ppmy.cn/news/1465000.html

相关文章

云原生架构内涵_3.主要架构模式

云原生架构有非常多的架构模式,这里列举一些对应用收益更大的主要架构模式,如服务化架构模式、Mesh化架构模式、Serverless模式、存储计算分离模式、分布式事务模式、可观测架构、事件驱动架构等。 1.服务化架构模式 服务化架构是云时代构建云原生应用的…

认识NoSql

SQL是结构化的,NoSql是非结构化的 SQL是关联的: Nosql是无关联的: SQL采用的是SQL查询: 语法固定,好处是:只要是关系型数据库(Mysql,Oracle),都能够使用相同的语句进行查…

CentOS8环境下FTP服务器安装与配置

在本指南中,我们将一步步介绍如何在CentOS 8环境下安装和配置一个FTP服务器。FTP(文件传输协议)是一种网络传输协议,用于在网络中的计算机之间传输文件。虽然现在有更安全的传输方式,如SFTP或FTP over SSL,…

【busybox记录】【shell指令】unlink

目录 内容来源: 【GUN】【unlink】指令介绍 【busybox】【unlink】指令介绍 【linux】【unlink】指令介绍 使用示例: 删除文件 - 默认 常用组合指令: 指令不常用/组合用法还需继续挖掘: 内容来源: GUN &#x…

创新案例 | 持续增长,好孩子集团的全球化品牌矩阵战略与客户中心设计哲学

探索好孩子集团如何通过创新设计的全球化品牌矩阵和以客户为中心的产品策略,在竞争激烈的母婴市场中实现持续增长。深入了解其品牌价值观、市场定位策略以及如何满足新一代父母的需求。本文旨在为中高级职场人士、创业家及创新精英提供深度见解,帮助他们…

【UE 反射】反射的原理是什么?如何使用机制?

目录 0 拓展0.1 静态类型检查0.1.1 静态类型检查的主要原理0.1.2 编译器的工作流程0.1.3 静态类型检查的优点和缺点0.1.4 示例0.1.5 C也可以在运行时类型检查RTTI基本原理RTTI的实现RTTI的工作流程RTTI的限制 0.2 运行时动态类型检查0.2.1 主要特点0.2.2 动态类型检查的实现0.2…

三维科技云展厅如何突破传统展览的局限,赋能企业高效展示

一、三维科技展厅如何实现科技展示 1、高度互动的展示方式 三维科技展厅通过虚拟现实和3D建模技术,为观众提供高度互动的展示体验。观众可以身临其境地参观展品,从而获得更为真实的感受。这样的展示方式不仅能够吸引观众的注意力,还能够提高他…

使用Java和MyBatis获取表头与数据

使用Java和MyBatis获取表头与数据 在数据处理与展示中,经常需要将数据库查询结果中的表头(列名)与实际数据提取出来。本文将介绍如何通过Java的JDBC和MyBatis来实现这一需求。 1. 使用JDBC获取表头与数据 在JDBC中,可以使用Res…