为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喔喔 2023-10-18 15:47:28
每当我在 python 中使用变量定义任何函数时,我都无法调用或打印函数中声明的变量的值,因此无法在后续代码行中使用该变量。如果我能知道我使用它的错误在哪里,那将非常有帮助。例如,创建 500 个数字的列表的以下代码行:它给出错误:NameError: name 'r1' is not Defineddef createlist(r1):    for n in range(1,500):        return np.arange(r1, r1+n, 1)    r1 = 1    print(createlist(r1))
查看完整描述

3 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

该代码将无法满足您的要求。


相反,请尝试此代码。


import numpy as np

def createlist(r1):

    for n in range(1,500):

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

r1 = 1

#print(createlist(r1))

createlist(r1)


查看完整回答
反对 回复 2023-10-18
?
撒科打诨

TA贡献1934条经验 获得超2个赞

问题是因为缩进。


您在您的函数中声明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))

希望对你有帮助 <3


查看完整回答
反对 回复 2023-10-18
?
慕森王

TA贡献1777条经验 获得超3个赞

我认为你想要正确缩进你的代码并且你想要返回每次迭代的结果,你可以尝试这个


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))

ps 请对您想要执行的操作进行更多说明。


查看完整回答
反对 回复 2023-10-18
  • 3 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信