我正在尝试编写重复的多项式函数。它采用输入向量a和输入b。然后我使用值b来运行从2到该范围的循环。就像b是50,它将从2运行到50.我将它应用于向量以获得多项式函数,如下所示。但是当我尝试在范围内使用b时,它表示b未定义
def funct(a,b):
A = a
for i in range(2, b):
newrow = np.power(A,i)
a = np.vstack([A, newrow])
return a
所以我尝试在中间添加它
b1 = int(b)
for i in range(2,b1)
它仍然会抛出同样的错误。 我不确定如何在函数输入中定义变量并在范围内使用它。任何人都可以帮我这个吗?
答案 0 :(得分:0)
正如heeymal已经建议你需要缩进函数中的代码才能使它工作,例如
是:
def function_name():
pass
没有
def function_name():
pass
这是相同代码的片段,我稍微改了一下它的工作原理:
import numpy
def funct(a, b):
A =a
for i in range(2,b):
newrow = numpy.power(A, i)
a = numpy.vstack([A, newrow])
return a
Python说B没有定义,因为你说的是b1 = int(b)而没有告诉它实际上是什么,因为你没有正确缩进,并且该代码不被认为是函数的一部分。我建议您更多地关注您在其当前状态下写的内容,您的IDE会给您一条错误消息,说明它预计会出现缩进块。