2014-09-04 96 views
-1

我想创建一个python程序来决定值是奇数还是偶数。这是我的代码:Python:变量未定义

def odd_or_even (a, b): 
    if a % 2 == 0: 
     b = "EVEN" 
    else: 
     b = "ODD" 

    return x 

odd_or_even (9, x) 

print x 

当我在终端运行它,这是错误:

回溯(最近通话最后一个): 文件 “py.py”,9号线,在 odd_or_even (9,x) NameError:名称'x'未定义

帮助请!?

+4

嗯......是什么'x'?为什么不只是'回来gobbledygook'?为什么'x'? – 2014-09-04 00:54:47

+0

@JoelCornett - 大声笑在那评论。 – 2014-09-04 00:55:29

回答

3

不能像Python那样通过参数列表返回值。也许你想要的东西类似如下:

def odd_or_even (a): 
    if a % 2 == 0: 
     b = "EVEN" 
    else: 
     b = "ODD" 

    return b 

x = odd_or_even (9) 

print x 

在这个例子中,odd_or_even函数返回一个值使用return声明(无论是"EVEN""ODD")。来电者将此返回值分配给x,然后打印。

1

那么你永远不会声明x是什么。

def odd_or_even (a, b): 
    if a % 2 == 0: 
     b = "EVEN" 
    else: 
     b = "ODD" 

    return x // <---- this function knows nothing about this value 

您需要的功能return b,你不需要在B经过:

def odd_or_even (a): 
    if a % 2 == 0: 
     b = "EVEN" 
    else: 
     b = "ODD" 

    return b // <-- the function set b 

当你调用函数你不需要变量

x = odd_or_even(9)

然后只是print x

2

如果我理解正确,'b'是你想从你的函数返回的结果。在这种情况下,您不需要将“b”传递给该函数。

试试这个:

def odd_or_even (x): 
    if x % 2 == 0: 
     result = x + " IS EVEN" 
    else: 
     result = x + " IS ODD" 
    return result 

print odd_or_even(9)