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

python面向对象编程练习

学生成绩管理系统
定义一个Student类,包括属性(姓名、成绩)和方法(设置成绩、获取成绩、计算平均成绩)。
实例化多个学生对象并调用方法。
功能说明:
Student 类:
init(self, name):构造方法,初始化学生的姓名和成绩。成绩初始化为空列表,后续可以通过 set_grades 方法来设置成绩。
set_grades(self, grades):设置学生的成绩,grades 是一个成绩列表。
get_grades(self):获取学生的成绩列表。
calculate_average(self):计算学生的平均成绩。如果成绩列表为空,返回 0;否则返回成绩的平均值。

在主程序部分:
创建了三个学生对象 student1、student2 和 student3。
给每个学生设置了成绩(通过 set_grades 方法)。
打印了每个学生的成绩列表和计算出的平均成绩。

class Student:def __init__(self, name):"""初始化学生对象,姓名作为必需的参数。默认成绩为一个空列表,后续可以通过设置方法来添加成绩。"""self.name = nameself.grades = []  # 存储成绩的列表def set_grades(self, grades):"""设置学生的成绩,可以传入一个成绩列表"""self.grades = gradesdef get_grades(self):"""获取学生的成绩"""return self.gradesdef calculate_average(self):"""计算学生的平均成绩,若成绩列表为空则返回0"""if len(self.grades) == 0:return 0return sum(self.grades) / len(self.grades)if __name__ == '__main__':# 实例化多个学生对象student1 = Student("张三")student2 = Student("李四")student3 = Student("王五")# 设置成绩student1.set_grades([85, 90, 78])student2.set_grades([88, 76, 92])student3.set_grades([65, 70, 75])# 获取并打印成绩和平均成绩print(f"{student1.name}的成绩是: {student1.get_grades()},平均成绩是: {student1.calculate_average():.2f}")print(f"{student2.name}的成绩是: {student2.get_grades()},平均成绩是: {student2.calculate_average():.2f}")print(f"{student3.name}的成绩是: {student3.get_grades()},平均成绩是: {student3.calculate_average():.2f}")
http://www.lryc.cn/news/494506.html

相关文章:

  • OpenCV_Code_LOG
  • 力扣第 74 题是 搜索二维矩阵
  • [极客大挑战 2019]BabySQL--详细解析
  • 实现Linux平台自定义协议族
  • RL78/G15 Fast Prototyping Board Arduino IDE 平台开发过程
  • YOLOv11 NCNN安卓部署
  • 对载入的3dtiles进行旋转、平移和缩放变换。
  • Rust个人认为将抢占C和C++市场,逐渐成为主流的开发语言
  • 在openEuler中使用top命令
  • 探索文件系统,Python os库是你的瑞士军刀
  • 【小白学机器学习41】如何从正态分布的总体中去抽样? 获得指定正态分布的样本的2种方法
  • 将VSCode设置成中文语言环境
  • Applied Intelligence投稿
  • AI-agent矩阵营销:让品牌传播无处不在
  • 【0346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)
  • NSSCTF-做题笔记
  • 【小白学机器学习35】数据表:整洁数据表,交叉表/列联表,以及两者转化pd.pivot_table()
  • springboot旅游管理系统的设计与实现
  • k8s 1.28 聚合层部署信息记录
  • 自由学习记录(25)
  • 关于函数式接口和编程的解析和案例实战
  • Linux 僵尸进程和孤儿进程, 进程优先级
  • 爬虫笔记24——纷玩岛自动抢票脚本笔记
  • 《白帽子讲Web安全》15-16章
  • 计算机毕业设计Python+LSTM天气预测系统 AI大模型问答 vue.js 可视化大屏 机器学习 深度学习 Hadoop Spark
  • 大语言模型压缩技术;推理优化技术;SparseGPT算法;GPTQ算法
  • Facebook的开源项目解析:推动开发者社区的技术进步
  • 力扣--LCR 149.彩灯装饰记录I
  • Rust SQLx CLI 同步迁移数据库
  • 批量生成不同用户的pdf 文件(html样式)