Python范围变量错误未定义

时间:2018-02-17 18:58:05

标签: python function variables range

我正在尝试编写重复的多项式函数。它采用输入向量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)

它仍然会抛出同样的错误。 我不确定如何在函数输入中定义变量并在范围内使用它。任何人都可以帮我这个吗?

1 个答案:

答案 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会给您一条错误消息,说明它预计会出现缩进块。