2016-11-11 113 views
0

我試圖解決一個問題,如果數字是奇數打印水平。如果甚至打印不適合。其他。我的Python代碼如下;Python 2奇數或偶數

import sys 
import math 


N = int(raw_input().strip()) 

def dec(num): 
    if num % 2 == 0 and num != 0: 
     print 'Not Odd' 
     elif num == 0: 
     print 'Case Zero' 
     else: 
     print 'Even' 

dec(N) 

爲什麼我不能編譯這段代碼?

+0

那麼你會得到什麼錯誤?你的縮進是*的方式*,你是如何在你的編輯器中? –

+0

這是一個Hackerrank挑戰https://www.hackerrank.com/challenges/30-conditional-statesments 我得到無效的語法錯誤的方式 – bukowski

+0

「爲什麼我不能編譯此代碼?」因爲你可能在解釋器上運行它。 –

回答

3

您在' s所包含的字符串中有'。 嘗試:

print 'Zero can\'t be odd or even!' 

正如我所看到的,您的縮進也很糟糕。 請將elif與el對齊,否則在if下面。

您也有一個非語法問題。 「不」和「奇怪」是對你而言不好的兩種可能性。

我已經糾正了這些錯誤給你:

def dec(num): 
    if num % 2 == 0 and num != 0: 
     print 'Even' 
    elif num == 0: 
     print 'Zero can\'t be odd or even!' 
    else: 
     print 'Odd' 

for N in range(5): 
    dec(N) 

一件事是,你應該考慮的問題約0是否需要在真正想說的是,它甚至沒有。 問你的數學老師這件事。

+0

解釋了一切。關於零:我只是想在這個程序中說我不想標籤爲零,這就是我所知道的零是偶數。 – bukowski