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

【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))。

相关文章:

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

💐作者:insist-- 💐个人主页:insist-- 的个人主页 理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里 ❤️欢迎点…...

【C语言学习疑难杂症】C语言中数组存储时为什么从低地址到高地址

在C语言中,数组的存储从低地址到高地址是有其历史原因的。这种设计主要是为了与计算机系统的内存组织方式相一致。 在计算机系统中,内存通常按照字节进行编址,地址从低到高递增。数组在内存中是连续存储的,因此数组的第一个元素&…...

Linux:查看端口占用的进程

命令 netstat -tunlp可以从图中看到,端口被那个进程占用,对应进程的pid是多少。...

医美店会员管理系统预约小程序作用是什么

医美在美业中占据着一定地位,爱美使然和经济独立、悦己消费下,不少女性会前往医美机构做脸部整容、嫩肤补水等服务,如美容院一样都是具备本地外地属性的,因此在如今互联网盛行下,商家需要借势线上破解难题及增强生意效…...

Linux 正则表达式

内容概述 1 文本编辑工具之神 VIM 1.1 vi 和 vim 简介 在 Linux 中我们经常编辑修改文本文件,即由 ASCII Unicode 或者其他编码的纯文字的文件。之前介绍过的 nano,实际工具中我们使用更为专业,功能强大的工具 文本编辑种类: vi…...

C语言面试之数组指针上篇

C语言数组是C语言中重要的数据结构之一,它用于存储一组相同类型的数据。数组在C语言中是以连续的内存空间来存储的,每个数组元素都是一个变量,占据一定的内存空间,数组元素之间是紧密相邻的。 一、数组的定义 在C语言中&#xff0…...

LinkWeChat,唯一以开源为核心的SCRM

LinkWeChat是国内首个基于企业微信的开源SCRM,在集成了企微强大的开放能力的基础上,进一步升级拓展灵活高效的客户运营能力及多元化精准营销能力,让客户与企业之间建立强链接,帮助企业提高客户运营效率,强化营销能力&a…...

Android textView 显示: STRING_TOO_LARGE

在Android中,字符串资源的长度限制是32KB,getString()方法返回的字符串资源的大小超过这个限制,就会抛出STRING_TOO_LARGE 这个错误。 我本地的临界值是:32.3 KB (33,090 字节) 小于等于33090时,能正常显示&#xff…...

用HeidiSQL在MySQL中创建新的数据库

用有权限的用户登录: 右键单击,选择: 输入要创建的数据库名称,然后点击“确定”: 刷新下,就看到新创建的数据库了: 在新创建的数据库中,就可以做其它操作了,例如…...

纯前端实现导入excel数据

准备工作 - 下载 xlsx npm install xlsx下面直接上代码&#x1f447; <template><div><input type"file" accept".xlsx, .xls" change"handleClick"></div> </template><script langts setup> import * a…...

Matlab下载许可证文件 教程(在账号有许可证的前提下)

文章目录 Part.I IntroductionPart.II 许可证文件过期解决方案Chap.I 使用 Internet 自动激活Chap.II 在不使用 Internet 的情况下手动激活 Part.I Introduction 本文主要介绍&#xff0c;在 Mathwork 账号有许可证的前提下&#xff0c;下载许可证的操作流程。 好久没有用 Mat…...

AI 绘画 | Stable Diffusion 电商模特

前言 上一篇文章讲到如何给人物更换背景和服装。今天主要讲电商模特,就是服装电商们的固定服装产品图片如何变成真人模特穿上的固定服装产品效果图。如果你掌握了 《AI 绘画 | Stable Diffusion 人物 换背景|换服装》,这篇文章对你来说,上手会更轻松。 教程 提取服装蒙版…...

vue面试题整理(1.0)

一、对MVC&#xff0c;MVP&#xff0c;MVVM的理解 三者都是项目的架构模式&#xff08;不是类的设计模式&#xff09;&#xff0c;即&#xff1a;一个项目的结构&#xff0c;如何分层&#xff0c;不同层负责不同的职责。 1.MVC MVC的出现是用在后端&#xff08;全栈时代&…...

PyQt基础_007_ 按钮类控件QCombox

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class ComboxDemo(QWidget):def __init__(self, parentNone):super(ComboxDemo, self).__init__(parent)self.setWindowTitle("combox 例子") self.resize(300, 90) …...

Android Wifi的扫描机制

Android Wifi 的扫描场景分为下面四种情况&#xff1a; 1.亮屏情况下&#xff0c;在Wifi settings界面&#xff0c;固定扫描&#xff0c;扫描时间为10s。 2.亮屏情况下&#xff0c;在非Wifi settings界面&#xff0c;二进制指数退避扫描&#xff0c;退避&#xff1a;interval…...

类 —— 友元、常/静态成员函数

类 类的大小 和结构体大小求法一致。但需注意&#xff0c;普通空类也会占用 1 字节大小&#xff0c;因为普通空类可以实例化对象。 而 抽象空类占 4 字节&#xff08;32 位机中&#xff09;&#xff0c;因为抽象空类中含有虚指针&#xff08;含有虚函数的非抽象空类同理&am…...

单页面应用

单页面应用 1.什么是SPA 多页面应用&#xff1a;每个页面都是独立的html文件&#xff0c;页面切换是整体刷新&#xff0c;需要重新加载html、css、JS等文件&#xff0c;容易实现搜索引擎&#xff0c;数据通过url、cookie、localStore传递。 单页面应用&#xff1a;多个页面是…...

六、ZooKeeper Java API操作

目录 1、引入maven坐标 2、节点的操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端框架 Curator ,解决了很多Zookeeper客户端非常底层的细节开发工作 。 Curator包含了几个包:...

美甲美睫店预约会员管理小程序作用如何

美甲美睫是美业中较为重要的类目&#xff0c;主要以小摊、门店/连锁形式&#xff0c;随着线上化程度加深&#xff0c;传统线下美业店面临着困境&#xff0c;想要进一步增长及解决痛点&#xff0c;就需要线上数字化运营得到更多生意。 那么通过【雨科】平台搭建美甲美睫店小程序…...

Vue3为什么会推出组合式API

前言 大学前端入门学的vue2&#xff0c;工作了又用的React&#xff0c;现在想学习一下Vue3&#xff0c;开篇就介绍了组合式API&#xff0c;这和我认知里的vue2的选项式API区别还是蛮大的。本篇文章简单介绍一下组合式API。 什么是组合式API Vue 3引入了一种新的 API&#xf…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...