gpt4 book ai didi

python - 如何求定义有两点的矩形的面积和周长?

转载 作者:行者123 更新时间:2023-12-01 09:00:40 25 4
gpt4 key购买 nike

我设置了一个 Point 类和 Rectangle 类,下面是代码:

import math

class Point:
"""A point in two-dimensional space."""

def __init__(self, x: float = 0.0, y: float = 0.0)->None:
self.x = x
self.y = y


def moveIt(self, dx: float, dy: float)-> None:
self.x = self.x + dx
self.y = self.y + dy

def distance(self, otherPoint: float):
if isinstance(otherPoint, Point):
x1 = self.x
y1 = self.y
x2 = otherPoint.x
y2 = otherPoint.y

return ( (x1 - x2)**2 + (y1 - y2)**2 )**0.5


class Rectangle:
def __init__(self, topLeft = Point(0,0), bottomRight = Point(1,1)):
self.topLeft = topLeft
self.bottomRight = bottomRight

这两个点是矩形的左上角和右下角。如何从两点求出这个矩形的面积和周长?将不胜感激任何和所有的帮助!

最佳答案

我们可以访问每个点的 x 和 y 值并计算高度和宽度,从那里我们可以创建计算面积和周长的方法

class Rectangle():
def __init__(self, topLeft = Point(0,0), bottomRight = Point(1,1)):
self.topLeft = topLeft
self.bottomRight = bottomRight
self.height = topLeft.y - bottomRight.y
self.width = bottomRight.x - topLeft.x
self.perimeter = (self.height + self.width) * 2
self.area = self.height * self.width

rect = Rectangle(Point(3,10),Point(4,8))
print(rect.height)
print(rect.width)
print(rect.perimeter)
print(rect.area)
chrx@chrx:~/python/stackoverflow/9.24$ python3.7 rect.py
2
1
6
2

或者使用方法

class Rectangle():
def __init__(self, topLeft = Point(0,0), bottomRight = Point(1,1)):
self.topLeft = topLeft
self.bottomRight = bottomRight
self.height = topLeft.y - bottomRight.y
self.width = bottomRight.x - topLeft.x

def make_perimeter(self):
self.perimeter = (self.height + self.width) * 2
return self.perimeter

def make_area(self):
self.area = self.height * self.width
return self.area

rect = Rectangle(Point(3,10),Point(4,8))
print(rect.height)
print(rect.width)
print(rect.make_perimeter())
print(rect.make_area())

关于python - 如何求定义有两点的矩形的面积和周长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52472477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com