问题描述
每当我在python中使用变量定义任何函数时,我都无法调用或打印该函数中声明的变量值,因此无法在后续代码行中使用该变量。 如果我知道我在哪里使用错了,那将真的很有帮助。
例如,以下几行代码创建500个数字的列表: 它给出了错误:NameError:未定义名称“ r1”
def createlist(r1):
for n in range(1,500):
return np.arange(r1,r1+n,1)
r1 = 1
print(createlist(r1))
解决方法
问题是由于缩进造成的。
您在函数中声明了r1
。由于print(createlist(r1))
无法看到r1
,因此会出现错误。所以解决方案是:
import numpy as np
def createlist(r1):
for n in range(1,500):
return np.arange(r1,r1+n,1)
r1 = 1
print(createlist(r1))
希望它可以帮助您
,此代码无法满足您的需求。
代替尝试此代码。
import numpy as np
def createlist(r1):
for n in range(1,500):
print(np.arange(r1,1))
r1 = 1
#print(createlist(r1))
createlist(r1)
,
我认为您想正确缩进代码,并且还想返回每次迭代的结果,您可以尝试一下
import numpy as np
def createlist(r1):
op = []
for n in range(1,500):
op.append(list(np.arange(r1,r1 + n,1))) # op is storing the list generated in each iteration
return op # now you can return op,a list which contains results from the loop
r1 = 1
print(createlist(r1))
p.s。请提供您要做什么的更多说明。