试图找出在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)