22. 使用Point类的对象,定义一个直线线段类 Line • (1定义构造器,初始化主要的数据属性:两个 Point对象 (2)定义求长度的方法length0,返回直线线段的长 度 (③3)定义求斜率的方法slope0,返回此直线段的斜率 (或在适当的时候返回None) (④覆盖_repr_0方法,将直线的两个端点(始点和 止点)显示成一对元组输出到屏幕,即((x1,yI),($2, у2)) (5)创建始点在(2,3),止点在(5,9)的Line对象,求其 长度和斜率
时间: 2024-03-25 07:37:59 浏览: 87
corejava笔记
代码实现如下:
```python
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
class Line:
def __init__(self, p1, p2):
self.p1 = p1
self.p2 = p2
def length(self):
return ((self.p1.x - self.p2.x)**2 + (self.p1.y - self.p2.y)**2)**0.5
def slope(self):
if self.p1.x == self.p2.x:
return None
return (self.p1.y - self.p2.y) / (self.p1.x - self.p2.x)
def __repr__(self):
return f"(({self.p1.x}, {self.p1.y}), ({self.p2.x}, {self.p2.y}))"
# 创建始点在(2,3),止点在(5,9)的Line对象
p1 = Point(2, 3)
p2 = Point(5, 9)
line = Line(p1, p2)
# 求其长度和斜率
print("长度为:", line.length())
print("斜率为:", line.slope())
```
输出结果为:
```
长度为: 6.708203932499369
斜率为: 2.0
```
阅读全文