“如何在python中使用def函数使用附加或扩展函数?”

时间:2019-02-19 07:43:23

标签: python

我正在尝试通过使用“ def”函数来附加或扩展值,但是,我收到了错误numpy.float64 object is not iterable

基本上,我想通过使用extend或append函数在变量名称“ all_slope”中存储不同的斜率值。我在传递函数中传递了四个不同的值,即斜率。可以帮我吗?

all_slope=[]
def slope(x1,x2,y1,y2):
    x=x2-x1
    y=y2-y1
    slope_value=(y/x)
    all_slope.extend(slope_value)
    return all_slope
slope(3,2,4,2)

2 个答案:

答案 0 :(得分:2)

使用append代替extend

为什么:

  

extend:通过添加来自可迭代对象的元素来扩展列表。

     

append:在对象末尾添加

Read more..

因此:

all_slope=[]
def slope(x1,x2,y1,y2):
    x=x2-x1
    y=y2-y1
    slope_value=(y/x)
    all_slope.append(slope_value)
    return all_slope

print(slope(3,2,4,2))

输出:

[2.0]

编辑:

@ mfitzp的优势在于,由于all_slope是全局变量,因此您可以调用函数,然后在不使用return的情况下打印列表:

all_slope=[]
def slope(x1,x2,y1,y2):
    x=x2-x1
    y=y2-y1
    slope_value=(y/x)
    all_slope.append(slope_value)

slope(3,2,4,2)
print(all_slope)

答案 1 :(得分:0)

all_slope.extend(slope_value)更改为all_slope.append(slope_value)