如何在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