2014-09-04 140 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)