Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中从函数返回值并在while循环中打印它?_Python_Return Value_Global_Function - Fatal编程技术网

如何在python中从函数返回值并在while循环中打印它?

如何在python中从函数返回值并在while循环中打印它?,python,return-value,global,function,Python,Return Value,Global,Function,我有以下代码: A = 3 def Calculation(): global A B = 2 * A return B print B 我得到一个错误: NameError: name 'B' is not defined 如何修复此错误?正确的代码是什么?提前谢谢 您可以简单地打印函数调用,如下所示: A = 3 def Calculation(a): B = 2 * A return B print Calculation(A) 得到未

我有以下代码:

A = 3

def Calculation():
    global A
    B = 2 * A
    return B

print B
我得到一个错误:

NameError: name 'B' is not defined

如何修复此错误?正确的代码是什么?提前谢谢

您可以简单地打印函数调用,如下所示:

A = 3

def Calculation(a):
    B = 2 * A
    return B

print Calculation(A)

得到未定义B的错误的原因是,变量B是函数计算的局部变量。它的范围仅在该方法中可见。

您的示例毫无意义

A = 3

def Calculation():
    global A
    B = 2 * A
    return B

B = Calculation()

print B
打印函数的返回值

A=3
def计算():
全球A
B=2*A
返回B
打印计算()
或者不使用函数:

A=3
B=2*A
打印B
或者在函数中全球化
B
,并在打印
B
之前调用函数:

A=3
def计算():
全球A、B
B=2*A
计算()
打印B

您不需要使用全局变量
A
,但应该将其作为参数传递给
Calculation
。例如:

A=3
def计算(a):
B=2*A
返回B
打印计算(A)
您还应该为函数使用“snake-case”名称(所有小写字母,用下划线“
”分隔单词)

在我看来,编写代码示例的最佳方式是:

a=3
def计算(系数):
返回=2*因子
打印计算(a)

我不认为否决新用户是个好主意。最好教他们如何这样做。请阅读:在这里解释答案:有一个叫做“范围”的东西。每个函数都有自己的范围,B在该范围内定义,因此不存在于父范围内。A=3定义了一个声明语句,在该语句中,您可以固定A的值,并将其用作全局变量。在此之后,您将定义方法Calculation(),不使用任何参数作为输入,并且此函数将始终返回B(在函数内部定义)。为了使用方法计算,您需要使用返回变量B=Calculation()调用它。接下来,您将使用print方法检查变量B