微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用def函数内部的变量?

如何解决如何使用def函数内部的变量?

对不起,我还是一个初学者:)而且我被困在某个时刻,希望您能为我提供帮助。

def Test(x):

a = []
if x > 10:
    a.append(2 * x + 1)
    a.append(3 * x + 1)
    a.append(4 * x + 1)
if x == 10:
    a.append(2 * x - 1)
    a.append(3 * x - 1)
    a.append(4 * x - 1)
if x < 10:
    a.append((2 * x) ** 2)
    a.append(((3 ** x)) ** 2)
    a.append((4**x) ** 2)

print(a)

Test(15)

如果我运行此程序,则不会出现您期望的错误。但是我需要的是“ a”列表及其参数。例如;如果我尝试:

print(a[1])

我收到以下错误

 Traceback (most recent call last):
  File "/home/stockfish/PycharmProjects/ProjectOne/deneme.py",line 19,in <module>
    print(a[1])
NameError: name 'a' is not defined

我尝试使用“全局”关键字;但我不确定是误用还是不起作用。

高度重视您的帮助。

解决方法

您应该从函数返回数组以在函数外部访问它。 在您的特定情况下,它将是:

def Test(x):
    a = []
    if x > 10:
        a.append(2 * x + 1)
        a.append(3 * x + 1)
        a.append(4 * x + 1)
    elif x == 10:
        a.append(2 * x - 1)
        a.append(3 * x - 1)
        a.append(4 * x - 1)
    elif x < 10:
        a.append((2 * x) ** 2)
        a.append(((3 ** x)) ** 2)
        a.append((4**x) ** 2)

    print("a = ",a)
    return a

output = Test(15)
print("output[1] = ",output[1])

输出应为

a = [31,46,61]
output[1] =  46

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。