【Python百练——第3练】矩形类及操作

news2025/1/23 12:04:02

💐作者:insist--

💐个人主页:insist-- 的个人主页

理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里

❤️欢迎点赞👍收藏📁评论📒

目录

一、题目和要求

1. 题目

2. 要求

二、实现程序的思路

三、代码及输出效果

1. 代码

2. 输出效果

四、代码用到的知识点

前言

在Python编程中,类和对象是面向对象编程的核心概念之一。通过定义类和创建对象,可以模拟现实世界中的各种实体,并对它们进行操作和修改。

ce1397c50a2c4227a8cdb116e07fff44.jpg


一、题目和要求

1. 题目

编写一个Python程序,定义一个表示矩形的类,并实现以下功能:

  • 初始化矩形的宽度和高度。
  • 计算矩形的面积和周长。
  • 修改矩形的宽度和高度。
  • 打印矩形的面积和周长。

2. 要求

  • 定义一个名为Rectangle的类,并实现上述功能。
  • 在Rectangle类中定义以下方法:

__init__(self, width, height):初始化矩形的宽度和高度。

get_area(self):计算矩形的面积。

get_perimeter(self):计算矩形的周长。

set_dimensions(self, width, height):修改矩形的宽度和高度。

print_dimensions(self):打印矩形的面积和周长。

  • 创建一个Rectangle对象,并测试上述功能是否正常工作。

二、实现程序的思路

在Rectangle类中定义一个构造函数__init__(),用于初始化矩形的宽度和高度。定义get_area()和get_perimeter()方法,分别计算矩形的面积和周长。定义set_dimensions()方法,用于修改矩形的宽度和高度。定义print_dimensions()方法,用于打印矩形的面积和周长。创建一个Rectangle对象,并调用其方法以测试功能是否正常工作。


三、代码及输出效果

1. 代码

# 定义一个名为Rectangle的类,用于表示矩形
class Rectangle:
    # 初始化函数,用于设置矩形的宽度和高度
    def __init__(self, width, height):
        self.width = width  # 设置矩形的宽度
        self.height = height  # 设置矩形的高度
    # 计算矩形面积的方法
    def get_area(self):
        return self.width * self.height  # 返回矩形的面积
    # 计算矩形周长的方法
    def get_perimeter(self):
        return 2 * (self.width + self.height)  # 返回矩形的周长
    # 修改矩形宽度和高度的方法
    def set_dimensions(self, width, height):
        self.width = width  # 设置新的矩形宽度
        self.height = height  # 设置新的矩形高度
    # 打印矩形宽度、高度、面积和周长的方法
    def print_dimensions(self):
        print("Width:", self.width)  # 打印矩形的宽度
        print("Height:", self.height)  # 打印矩形的高度
        print("Area:", self.get_area())  # 打印矩形的面积
        print("Perimeter:", self.get_perimeter())  # 打印矩形的周长
# 测试代码,创建一个Rectangle对象并调用其方法
rectangle = Rectangle(5, 10)  # 创建一个宽度为5,高度为10的矩形对象
rectangle.print_dimensions()  # 打印初始化的矩形尺寸和计算结果
rectangle.set_dimensions(15, 20)  # 修改矩形的宽度和高度
rectangle.print_dimensions()  # 打印修改后的矩形尺寸和计算结果

2. 输出效果

e12759a881d8450394fe524c69940d1e.png


四、代码用到的知识点

1. 类定义通过使用class关键字来定义一个名为Rectangle的类,用于表示矩形。

2. 属性在类中定义了width和height两个属性,分别用来表示矩形的宽度和高度。这些属性通过self.width和self.height来访问和设置。

3. 方法:定义了多个方法来实现不同的功能,包括初始化、计算面积、计算周长、修改尺寸以及打印尺寸和计算结果。

4. 构造函数:__init__方法是一个特殊的方法,用于初始化新创建的对象的状态。在这个例子中,它被用来设置矩形的宽度和高度。

5. 函数和方法:在类中定义函数和方法来执行特定的任务。例如,get_area方法用于计算矩形的面积,get_perimeter方法用于计算矩形的周长,set_dimensions方法用于修改矩形的宽度和高度,print_dimensions方法用于打印矩形的宽度、高度、面积和周长。

6. 封装性:通过定义方法(如get_area、get_perimeter等)来隐藏实现细节,只通过公开的方法来与对象交互。

7. 打印输出:使用print语句来打印信息,例如矩形的宽度、高度、面积和周长。

8. 基本运算:使用乘法和加法等基本数学运算符进行计算,如计算矩形的面积(self.width * self.height)和周长(2 * (self.width + self.height))。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1279547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一缕青丝寄相思

10年8月16日七夕节男孩向女孩表白,女孩不知道那天是七夕,也没有读懂男孩的爱,女孩在9月22日中秋,向男孩打开了心门,男孩却没有懂女孩的心思.13年后的一封问候邮件,一束女孩的长发和回不去的青春 洒满阳光的午后 转眼间看到你的笑脸 微笑着你对我说 遇上你认识我真好 你说得好莫…

论文解读--Robust lane detection and tracking with Ransac and Kalman filter

使用随机采样一致性和卡尔曼滤波的鲁棒的车道线跟踪 摘要 在之前的一篇论文中,我们描述了一种使用霍夫变换和迭代匹配滤波器的简单的车道检测方法[1]。本文扩展了这项工作,通过结合逆透视映射来创建道路的鸟瞰视图,应用随机样本共识来帮助消…

力扣日记12.3-【二叉树篇】二叉树的所有路径

力扣日记:【二叉树篇】二叉树的所有路径 日期:2023.12.3 参考:代码随想录、力扣 257. 二叉树的所有路径 题目描述 难度:简单 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径…

JAVA代码优化:CommandLineRunner(项目启动之前,预先加载数据)

CommandLineRunner接口是Spring Boot框架中的一个接口,用于在应用程序启动后执行一些特定的代码逻辑。它是一个函数式接口,只包含一个run方法,该方法在应用程序启动后被自动调用。可以帮助我们在应用程序启动后自动执行一些代码逻辑&#xff…

sharding-jdbc实现分库分表

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 😅😅最近几天的状态有点不对,所以有几天没有更新了。 当我们的数据量比较大…

css实现简单的抽奖动画效果和旋转效果,还有春联效果

使用css的animation和transform和transition可以实现简单的图片放大缩小,旋转,位移的效果,由此可以延伸的动画效果还是挺多的,比如图片慢慢放大,图片慢慢旋转并放大,图片慢慢变化位置等等, 抽奖…

使用pytorch从零开始实现迷你GPT

生成式建模知识回顾: [1] 生成式建模概述 [2] Transformer I,Transformer II [3] 变分自编码器 [4] 生成对抗网络,高级生成对抗网络 I,高级生成对抗网络 II [5] 自回归模型 [6] 归一化流模型 [7] 基于能量的模型 [8] 扩散模型 I, 扩散模型 II…

MathType 7.5.2中文版软件使用期到了怎么办?

MathType 7.5.2中文版作为一款专业的公式编辑器,MathType受到很多人的青睐,它可以将编辑好的公式保存成多种图片格式或透明图片模式,可以很方便的添加或移除符号、表达式等模板(只需要简单地用鼠标拖进拖出即可),也可以…

Verilog 入门(八)(验证)

文章目录 编写测试验证程序波形产生值序列重复模式 测试验证程序实例从文本文件中读取向量实例:时序检测器 测试验证程序用于测试和验证设计方法的正确性。Verilog 提供强有力的结构来说明测试验证程序。 编写测试验证程序 测试验证程序有三个主要目的:…

Java 表达式引擎

企业的需求往往是多样化且复杂的,对接不同企业时会有不同的定制化的业务模型和流程。我们在业务系统中使用表达式引擎,集中配置管理业务规则,并实现实时决策和计算,可以提高系统的灵活性和响应能力。 引入规则引擎似乎就能解决这个…

UE学习C++(1)创建actor

创建新C类 在 虚幻编辑器 中,点击 文件(File) 下拉菜单,然后选择 新建C类...(New C Class...) 命令: 此时将显示 选择父类(Choose Parent Class) 菜单。可以选择要扩展的…

你知道MySQL 中的 order by 是怎么工作的吗?

欢迎大家到我的博客浏览。order by是怎么工作的? | YinKais Blog今天我们来看一下 MySQL 中 “ order by ” 是怎么工作的。 我们以一个实际的例子,来探讨这个问题: 假设我们的表是这样定义的: CREATE TABLE t (id int(11) NOT…

数据结构和算法-树与二叉树的存储结构以及树和二叉树和森林的遍历

文章目录 二叉树的存储结构二叉树的顺序存储二叉树的链式存储小结 二叉树的先中后序遍历例题小结 二叉树的层次遍历小结 由遍历序列构造二叉树一个遍历序列即使给定了前中后序,也不能确定该二叉树的形态可以确定的序列组合前序中序后序中序层序中序 小结若前序&…

LeetCode的几道题

一、捡石头 292 思路就是: 谁面对4块石头的时候,谁就输(因为每次就是1-3块石头,如果剩下4块石头,你怎么拿,我都能把剩下的拿走,所以你就要想尽办法让对面面对4块石头的倍数, 比如有…

如何使用手机制作证件照

1、打开vx搜索小🍊x名称:标准证件照免冠照 2、选择你需要的证件照尺寸类型 3.选择手机照片生活照或者点击开始拍摄(建议纯色的墙面好换底色) 4.选择背景颜色,红底,蓝底奉背景颜色随你…

LeetCode力扣每日一题(Java):1、两数之和

一、题目 二、解题思路 方法一&#xff1a;暴力枚举 这是最容易想到的一种方法&#xff0c;本质就是二重循环遍历数组&#xff0c;话不多说直接上代码 public int[] twoSum(int[] nums, int target) {for (int i 0; i < nums.length - 1; i) {for (int j i 1; j < …

纯js实现录屏并保存视频到本地的尝试

前言&#xff1a;先了解下&#xff1a;navigator.mediaDevices&#xff0c;mediaDevices 是 Navigator 只读属性&#xff0c;返回一个 MediaDevices 对象&#xff0c;该对象可提供对相机和麦克风等媒体输入设备的连接访问&#xff0c;也包括屏幕共享。 const media navigator…

【动态规划】LeetCode-931.下降路径最小和

&#x1f388;算法那些事专栏说明&#xff1a;这是一个记录刷题日常的专栏&#xff0c;每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目&#xff0c;在这立下Flag&#x1f6a9; &#x1f3e0;个人主页&#xff1a;Jammingpro &#x1f4d5;专栏链接&…

Selenium page object模式Python

目录 概述 优点 示例 项目结构&#xff1a; 基础页面类BasePage 业务页面类BaiduHomePage 测试类test_baidu&#xff1a; 文件工具类file_util 运行日志&#xff1a; 测试结果&#xff1a; 概述 在web应用程序的UI中&#xff0c;有一些区域可以与测试交互。页面对象…