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

💐作者: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.mzph.cn/news/192709.shtml

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

相关文章

Golang 原生Rpc Server实现

Golang 原生Rpc Server实现 引言源码解析服务端数据结构服务注册请求处理 客户端数据结构建立连接请求调用 延伸异步调用定制服务名采用TPC协议建立连接自定义编码格式自定义服务器 参考 引言 本文我们来看看golang原生rpc库的实现 , 首先来看一下golang rpc库的demo案例: 服…

python的制图

测试数据示例: day report_user_cnt report_user_cnt_2 label 2023-10-01 3 3 欺诈 2023-10-02 2 4 欺诈 2023-10-03 6 5 欺诈 2023-10-04 2 1 正常 2023-10-05 4 3 正常 2023-10-06 4 4 正常 2023-10-07 2 6 正常 2023-10-08 3 7 正常 2023-10-09 3 12 正常 2023-…

找不到DNS地址的解决方案

找不到DNS地址的解决方案 第一种解决方案:刷新DNS缓存第二种解决方案: 配置Internet协议版本4(TCP/IPv4)配置IP地址配置DNS地址 如何查看本机IPv4地址、子网掩码与默认网关 第一种解决方案:刷新DNS缓存 WINR输入cmd回…

基于SSH三大框架的员工管理系统

基于SSH三大框架的员工管理系统 摘要 本系统为本人学习SSH三大框架时所做的整合实例,系统角色包括普通用户和管理员两种,首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。 系统环境 本系统使用ec…

【C++练级之路】【Lv.1】C++,启动!(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for,nullptr)

目录 引言入门须知一、命名空间1.1 作用域限定符1.2 命名空间的意义1.3 命名空间的定义1.4 命名空间的使用 二、C输入&输出2.1 cout输出2.2 cin输入2.3 std命名空间的使用惯例 三、缺省参数3.1 缺省参数概念3.2 缺省参数分类 四、函数重载4.1 函数重载概念4.2 函数重载分类…

BUUCTF 间谍启示录 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 在城际公路的小道上,罪犯G正在被警方追赶。警官X眼看他正要逃脱,于是不得已开枪击中了罪犯G。罪犯G情急之下将一个物体抛到了前方湍急的河流中,便头一歪突然倒地。警官X接近一看&…

公平锁和非公平锁以及他们的实现原理是什么

文章目录 什么是非公平锁和公平锁呢?我们来看看acquire(1)的源码如下:这里的判断条件主要做两件事:在tryAcquire()方法中,主要是做了以下几件事:公平锁的tryAcquire(),实现的原理图如下:我们来看…

ORA-00257: archiver error. Connect internal only, until freed 的解决方法

归档文件存储空间不足,导致出现该问题。 当我们将数据库的模式修改为归档模式的时候,如果没有指定归档目录,默认的归档文件就会放到Flash Recovery Area的目录,但是这个目录是有大小限制的,如果超过了这个大小&#x…

C#基础学习--命名空间和程序集

引用其他程序集 编译器接受源代码文件并生成一个名为程序集的输出文件。 在许多项目中,会想使用来自其他程序集的类或类型。这些程序集可能来自BCL或第三方供应商,或者自己创建的。这些程序集称为类库,而且它们的程序集文件的名称通常以dll…

微信小程序组件与插件有啥区别?怎么用?

目录 一、微信小程序介绍 二、微信小程序组件 三、微信小程序插件 四、微信小程序组件与插件有啥区别 一、微信小程序介绍 微信小程序是一种基于微信平台的应用程序,它可以在微信客户端内直接运行,无需下载和安装。微信小程序具有轻量、便捷、跨平台…

对比ProtoBuf和JSON的序列化和反序列化能力

1.序列化能力对比验证 在这里让我们分别使用PB与JSON的序列化与反序列化能力,对值完全相同的一份结构化数据进行不同次数的性能测试。 为了可读性,下面这一份文本使用JSON格式展示了需要被进行测试的结构化数据内容: {"age" : 20,"name…

线程安全的问题以及解决方案

线程安全 线程安全的定义 线程安全:某个代码无论是在单线程上运行还是在多线程上运行,都不会产生bug. 线程不安全:单线程上运行正常,多线程上运行会产生bug. 观察线程不安全 看看下面的代码: public class ThreadTest1 {public static int count 0;public static void main…

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

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

算力基础设施领域国家标准发布

2023 年 11 月 27 日,国家标准 GB/T 43331-2023《互联网数据中心(IDC)技术和分级要求》正式发布。这一国家标准由中国信息通信研究院(简称“中国信通院”)联合多家企事业单位编制,旨在满足当前国家算力基础…

强化学习(一)——基本概念及DQN

1 基本概念 智能体 agent ,做动作的主体,(大模型中的AI agent) 环境 environment:与智能体交互的对象 状态 state ;当前所处状态,如围棋棋局 动作 action:执行的动作,…

C#——Delegate(委托)与Event(事件)

C#——Delegate(委托)与Event(事件) 前言一、Delegate(委托)1.是什么?2.怎么用?Example 1:无输入无返回值Example 2:有输入Example 3:有返回值Exa…

【C#】接口定义和使用知多少

给自己一个目标,然后坚持一段时间,总会有收获和感悟! 最近在封装和参考sdk时,看到一个不错的写法,并且打破自己对接口和实现类固定的观念,这也充分说明自己理解掌握的知识点还不够深。 目录 前言一、什么是…

Kubernetes(K8s)_16_CSI

Kubernetes(K8s)_16_CSI CSICSI实现CSI接口CSI插件 CSI CSI(Container Storage Interface): 实现容器存储的规范 本质: Dynamic Provisioning、Attach/Detach、Mount/Unmount等功能的抽象CSI功能通过3个gRPC暴露服务: IdentityServer、ControllerServe…

C++二维数组名到底代表个啥

题目先导 int a[3][4]; 则对数组元素a[i][j]正确的引用是*(*(ai)j)先翻译一下这个*(*(ai)j),即a后移i解引用,再后移j再解引用,这么看来a就应该是个二维数组,第一层存储行向量,一次解引用获得行向量的地址,…

LLM推理部署(三):一个强大的LLM生态系统GPT4All

GPT4All,这是一个开放源代码的软件生态系,它让每一个人都可以在常规硬件上训练并运行强大且个性化的大型语言模型(LLM)。Nomic AI是此开源生态系的守护者,他们致力于监控所有贡献,以确保质量、安全和可持续…