为什么执行以下代码时python代码显示错误?这里的变量是全局声明的,不取全局变量的值

时间:2019-02-27 03:40:26

标签: python

为什么执行以下代码时python代码显示错误?这里的变量是全局声明的,不取全局变量的值

a=7
def fun1(a):
    if a%2==0: return 0
    else: return 1
fun1()

2 个答案:

答案 0 :(得分:1)

您已将a声明为变量,但是函数定义需要一个参数,该参数也恰好称为a,但与声明的变量无关。

两个选项,您可以在调用时将变量传递给函数:

a=7 
def fun1(a): 
    if a%2==0: 
        return 0
    else: 
        return 1

fun1(a)

或者您可以在函数内将a声明为global来访问它,而不必在调用函数时将其作为参数传递:

a=7 
def fun1(): 
    global a
    if a%2==0: 
        return 0
    else: 
        return 1

fun1()

答案 1 :(得分:0)

您声明fun1()要求提供一个参数,然后在不提供任何参数的情况下调用它。