|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lbf4325 于 2017-12-4 16:25 编辑
- 以下可以当做伪代码来看,因为执行出错。
- class Poit:
- def __init__(self,x1,x2):
- self.x1 = x1
- self.y1 = y1
- A =(self.x1,self.y2) #定义点A
- def __init__(self,x2,y2):
- self.x2 = x2
- self.y2 = y2
- B =(self.x2,self.y2) #定义点B
-
- class Line(Poit):
- super().__init__() # 继承Poit
- def __init__(self,A,B):
- self.A =A
- self.B =B
- def getlenth():
- return |(sqrt(((x1-x2)*2+(y1-y2)*2)))|
- d = Line(A,B)
-
- 其实我的想法是通过定义一个点的类,线通过点类继承,点类的一些方法,线类实例的时候通过
- 元组参数进行,有没有大神能够用我的思路完整写一个正确的。
- 下面是小甲鱼的思路
- import math
- class Point():
- def __init__(self, x=0, y=0): #为什么要x=0,Y=0
- self.x = x
- self.y = y
- def getX(self):
- return self.x
- def getY(self):
- return self.y
- class Line():
- def __init__(self, p1, p2):
- self.x = p1.getX() - p2.getX()
- self.y = p1.getY() - p2.getY() 怎么理解? 此处self.x和y和点类self.x和y指的是同一个意思?怎么就知道减出来一定是正数
- self.len = math.sqrt(self.x*self.x + self.y*self.y)
- def getLen(self):
- return self.len
- >>> p1 = Point(1, 1)
- >>> p2 = Point(4, 5)
- >>> line = Line(p1, p2)
- >>> line.getLen()
- 5.0
复制代码
题目是 |
|