使用Python计算坡度的程序

使用Python计算坡度的程序,python,class,Python,Class,我必须先建立一个叫做点的类,以x和y为参数,来求斜率。然后我必须创建一个名为line的类,它以两点作为参数。在line类中,我必须生成一个名为get slope的函数,该函数计算斜率并返回它。这是我想到的 class Point: def __init__(self,x,y): self.x = x self.y = y class Line: def __init__(self,p1,p2): self.p1 = (x1,y1) self

我必须先建立一个叫做点的类,以x和y为参数,来求斜率。然后我必须创建一个名为line的类,它以两点作为参数。在line类中,我必须生成一个名为get slope的函数,该函数计算斜率并返回它。这是我想到的

class Point:
def __init__(self,x,y):
    self.x = x
    self.y = y
class Line:
    def __init__(self,p1,p2):
        self.p1 = (x1,y1)
        self.p2 = (x2,y2)
        def getSlope(self):
            xvalues = (self.p2.x - self.p1.x)
            yvalues = (self.p2.y - self.p1.y)
            slope   =  yvalues/xvalues
            return slope

我无法让它工作

您犯了一些错误,首先python中的除法(版本小于3)返回整数而不是浮点。您应该从future包导入division,其次,您没有遵循python中的缩进约定。下面是经过测试和运行的代码

from __future__ import division
class Point:
    def __init__(self,x,y):
        self.x = x
        self.y = y
class Line:
    def __init__(self,p1,p2):
        self.p1 = p1
        self.p2 = p2
    def getSlope(self):
        xvalues = (self.p2.x - self.p1.x)
        yvalues = (self.p2.y - self.p1.y)
        print self.p1.x
        slope   =  yvalues/xvalues
        return slope

p = Point(1,0);
p2 = Point(5,3);
l = Line(p,p2);
print(l.getSlope());

你说“不能让它工作”是什么意思?我们需要了解您是如何使用它的,以及您将得到的确切错误,以便能够判断出错误。当您将代码粘贴到此处时,缩进是否被破坏?代码甚至不会按编写的方式进行解析!由于缩进在python中非常重要,因此您确实需要确保代码在这里的外观与在源代码中的外观完全相同,否则我们将看到与您不同的错误(问题是可编辑的,并且在您键入时会有即时预览,所以请编辑它,直到它正确显示)。