如何在python中调用用户定义函数中声明的变量

每当我在 python 中使用变量定义任何函数时,我都无法调用或打印函数中声明的变量的值,因此无法在后续代码行中使用该变量。如果我能知道我使用它的错误在哪里,那将非常有帮助。


例如,创建 500 个数字的列表的以下代码行:它给出错误:NameError: name 'r1' is not Defined


def createlist(r1):

    for n in range(1,500):

        return np.arange(r1, r1+n, 1)

    r1 = 1

    print(createlist(r1))


喵喔喔
浏览 119回答 3
3回答

摇曳的蔷薇

该代码将无法满足您的要求。相反,请尝试此代码。import numpy as npdef createlist(r1):    for n in range(1,500):        print(np.arange(r1, r1+n, 1))r1 = 1#print(createlist(r1))createlist(r1)

撒科打诨

问题是因为缩进。您在您的函数中声明r1。它会给你错误,因为print(createlist(r1))看不到r1. 所以解决方案是:import numpy as npdef createlist(r1):&nbsp; &nbsp; for n in range(1,500):&nbsp; &nbsp; &nbsp; &nbsp; return np.arange(r1, r1+n, 1)r1 = 1print(createlist(r1))希望对你有帮助 <3

慕森王

我认为你想要正确缩进你的代码并且你想要返回每次迭代的结果,你可以尝试这个import numpy as npdef createlist(r1):&nbsp; &nbsp; op = []&nbsp; &nbsp; for n in range(1, 500):&nbsp; &nbsp; &nbsp; &nbsp; op.append(list(np.arange(r1, r1 + n, 1)))&nbsp; &nbsp;# op is storing the list generated in each iteration&nbsp; &nbsp; return op&nbsp; &nbsp;# now you can return op, a list which contains results from the loopr1 = 1print(createlist(r1))ps 请对您想要执行的操作进行更多说明。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python