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

时间:2015-12-02 18:51:10

标签: python return-value global function

我有以下代码:

A = 3

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

print B

我收到错误:

NameError: name 'B' is not defined

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

3 个答案:

答案 0 :(得分:2)

你的例子毫无意义。

打印函数的返回值...

A = 3

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

print Calculation()

或者不使用功能:

A = 3
B = 2 * A
print B

或者在功能中全球化B并在打印B之前调用该函数:

A = 3

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

Calculation()
print B

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

A = 3

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

print Calculation(A)

你也应该使用" snake-case"函数的名称(全部小写,带下划线的单独单词" _")。

如何最好地编写代码示例(在我看来):

a = 3

def calculation(factor):
    return = 2 * factor

print calculation(a)

答案 1 :(得分:1)

你可以简单地打印你的函数调用::

A = 3

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

print Calculation(A)

您收到B未定义的错误的原因是因为您的变量B是函数Calculation的局部变量。其范围仅在该方法中可见。

答案 2 :(得分:0)

A = 3

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

B = Calculation()

print B