我正在尝试通过使用“ 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)
答案 0 :(得分:2)
使用append
代替extend
:
为什么:
extend:通过添加来自可迭代对象的元素来扩展列表。
append:在对象末尾添加
。
因此:
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)