Python斜率(给定两点找到斜率)-answer有效且无效;

Meg*_*gan 3 python function line

试图找出函数以返回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)
Run Code Online (Sandbox Code Playgroud)

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

我已经得到正确的答案,然后第二行=> None,并且在提交系统时说这是不正确的。

cor*_*nda 5

您的数学已经准备就绪,所以这不是问题。我通过添加print语句测试了您的所有功能,并且它们都正确返回了1.0

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

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

print slope(2, 3, 6, 7)
Run Code Online (Sandbox Code Playgroud)

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

def slope(x1, y1, x2, y2):
    return (y2-y1)/(x2-x1)
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你!我意识到他们不想向系统提交一个函数...(手掌对着那个哈哈) (2认同)