|
发表于 2022-7-28 19:36:44
|
显示全部楼层
- class Point: # 点的坐标
- def __init__(self, x = 0, y = 0):
- self.x = x
- self.y = y
-
- def __str__(self): # 打印点
- return f"({self.x}, {self.y})"
- class Area: # 三角形面积
- def __init__(self, a: Point, b: Point, c: Point):
- self.__a = a
- self.__b = b
- self.__c = c
- self.area = .5 * (a.x * (b.y - c.y) + b.x * (c.y - a.y) + c.x * (a.y - b.y))
- class Length: # 两点之间长度
- def __init__(self, a: Point, b: Point):
- self.__a = a
- self.__b = b
- self.length = pow(pow(b.x - a.x, 2) + pow(b.y - a.y, 2), .5)
- if __name__ == "__main__":
- a = Point(-2, 1)
- b = Point(3, 2)
- c = Point(1, 5)
- print(f"三个点分别是 a:{a}, b:{b}, c:{c}")
- print(f"三个点的面积:{Area(a, b, c).area}")
- print(f"ab 长度:{Length(a, b).length}")
- print(f"bc 长度:{Length(b, c).length}")
- print(f"ac 长度:{Length(a, c).length}")
复制代码- 三个点分别是 a:(-2, 1), b:(3, 2), c:(1, 5)
- 三个点的面积:8.5
- ab 长度:5.0990195135927845
- bc 长度:3.605551275463989
- ac 长度:5.0
复制代码 |
|