|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题要求为求:直线长度,小甲鱼给出代码如下:
import math
class Point():
def __init__(self,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.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()
其中,class Point():这个类的内容我晓得,而且全局的p1=Point(1,1) p2=Point(4,5)这两个是通过class Point()得到两个点的目的。
在class Line():中,红色字体的意思没有想明白,特别是p1.getX()-p2.getX(),说白了p1.getX()是怎么运行都没想通。但是我能猜到数学含义是两个x点与两个y点作差的结果在平方相加,最后开方,但是在python中写出来,没有理解代码的运行
p1和p2都是point类的对象,所以p1.getX()和p2.getX()都是在调用point类方法,得到的是点的横坐标,相减后赋值给line类的x,即两点的横坐标之差;同理会获得y坐标的差值,两者平方和开方就是线的长度。
|
|