试图弄清楚在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"
我得到了正确答案,然后是第二行=>无,并且在提交系统时说它不正确。
答案 0 :(得分:5)
你的数学是正确的,所以这不是问题所在。我通过添加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)
答案 1 :(得分:1)
谢谢你的帮助!结束只是一个过度思考方向预期的问题。很高兴我有一点功能练习。如上所述,如果系统需要功能,则列出正确的答案。