600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python k线斜率计算_在Python中计算斜率的方法

python k线斜率计算_在Python中计算斜率的方法

时间:2023-09-29 11:45:54

相关推荐

python k线斜率计算_在Python中计算斜率的方法

我正在尝试用

Python学习面向对象的编程.为此,我需要创建一个计算线的斜率的方法,该线将原点连接到一个点. (我认为)我们假设原点是(0,0).例如:

Point(4, 10).slopeFromOrigin()

2.5

Point(12, -3).slopeFromOrigin()

-0.25

Point(-6, 0).slopeFromOrigin()

0

我们使用方程slope =(Y2-Y1)/(X2-X1)来计算斜率.此外,由于不允许除以0,因此当方法失败时,我们需要返回None.这是我试过的:

class Point:

#Point class for representing and manipulating x,y coordinates

def __init__(self, initX, initY):

#Create a new point at the given coordinates

self.x = initX

self.y = initY

def getX(self):

return self.x

def getY(self):

return self.y

def distanceFromOrigin(self):

return ((self.x ** 2) + (self.y ** 2)) ** 0.5

#define a method called slopeFromOrigin here

def slopeFromOrigin(self):

#set origin values for x and y (0,0)

self.x = 0

self.y = 0

#slope = (Y2 - Y1) / (X2 - X1)

if (Point(x) - self.x) == 0:

return None

else:

return (Point(y) - self.y) / (Point(x) - self.x)

#some tests to check our code

from test import testEqual

testEqual( Point(4, 10).slopeFromOrigin(), 2.5 )

testEqual( Point(5, 10).slopeFromOrigin(), 2 )

testEqual( Point(0, 10).slopeFromOrigin(), None )

testEqual( Point(20, 10).slopeFromOrigin(), 0.5 )

testEqual( Point(20, 20).slopeFromOrigin(), 1 )

testEqual( Point(4, -10).slopeFromOrigin(), -2.5 )

testEqual( Point(-4, -10).slopeFromOrigin(), 2.5 )

testEqual( Point(-6, 0).slopeFromOrigin(), 0 )

正如你所看到的,我试图说我们需要Point的第一个参数是x2,而Point的第二个参数是y2.我试过这种方式得到了

NameError:名称’y’未在第32行定义.

我也尝试得到Point的索引值,如下所示:

return(Point [0] – self.y /(Point [1] – self.x)

但这也给了我一个错误信息:

TypeError:’Point’不支持第32行的索引

我不确定如何从Point获取x和y参数的值,以便该方法在测试时有效.如果您有任何建议,请分享您的建议.谢谢.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。