Python 斜率(给定两个点找到斜率)-答案有效和不起作用;



试图找出在Python中返回线斜率的函数。问题方向是找到 m 的斜率,并给出斜率坐标。通读其他几个堆栈溢出帖子,但似乎没有一个是可行的解决方案。以下是我尝试过的各种变体:

def slope(x1, y1, x2, y2):
    m = 0
    b = (x2 - x1)
    d = (y2 - y1)
    if b != 0:
        m = (d)/(b) 
    return m
slope(2, 3, 6, 7)

def slope(x1, y1, x2, y2):
    m = 0
    a = float(x1)
    b = float(x2)
    c = float(y1)
    d = float(y2)
    m = (d-c)/(b-a)
    return m
slope(2, 3, 6, 7)
def slope(x1, y1, x2, y2):
    m = ''
    a = float(x1)
    b = float(x2)
    c = float(y1)
    d = float(y2)
    m = (d-c)/(b-a)
    return m
slope(2, 3, 6, 7)

def slope(x1, y1, x2, y2):
    m = 0
    b = (x2 - x1)
    d = (y2 - y1)
    if b == 0:
        m = None
    else: 
        m = (d)/(b) 
    return m

slope(2, 3, 6, 7)
def slope(x1, y1, x2, y2):
    m = (y2-y1)/(x2-x1)
    return m
slope(2, 3, 6, 7)

有一次,我收到了有关全局 m 的错误消息。我也尝试在函数外制作一个"m = 0",但这没有帮助。还收到了"AssertionError: 0 != 1"

我得到了正确的答案,后跟第二行=>None,提交时系统说它不正确。

你的数学是正确的,所以这不是问题。 我通过添加print语句测试了您的所有函数,它们都正确返回了1.0.

您的系统是否要求您打印出返回值? 这样做。

def slope(x1, y1, x2, y2):
    m = (y2-y1)/(x2-x1)
    return m
print slope(2, 3, 6, 7)

您甚至可以通过省略变量并直接返回计算来进一步优化,如下所示:

def slope(x1, y1, x2, y2):
    return (y2-y1)/(x2-x1)

相关内容

最新更新