2016-11-11 7 views
0

Ich versuche ein Problem zu beheben, wie wenn eine Zahl ungerade ist. wenn sogar drucken etw. sonst. Mein Python-Code ist wie folgt;Python 2 ungerade oder gerade Zahlen

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) 

Warum kann ich diesen Code nicht kompilieren?

+0

Also welchen Fehler bekommen Sie? Dein Einzug ist * weg *, wie hast du es in deinem Editor? –

+0

Dies ist eine Hackerrank Herausforderung https://www.hackerrank.com/challenges/30-conditional-statements Ich bekomme ungültige Syntaxfehler übrigens – bukowski

+0

"Warum kann ich diesen Code nicht kompilieren?" Weil Sie es wahrscheinlich mit dem Interpreter ausführen. –

Antwort

3

Sie haben eine ' innerhalb der Zeichenfolge von ' s eingeschlossen. Versuchen:

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

Wie ich sehe, Ihr Einzug ist auch schlecht. Bitte richten Sie die elif und sonst unter dem if.

Sie haben auch ein nicht syntaktisches Problem. "Nicht einmal" und "Odd" sind die zwei Möglichkeiten für Sie, die schlecht sind.

Ich habe diese Fehler für Sie korrigiert:

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) 

Eine weitere Sache ist, dass man über die Frage nach 0 wheter wirklich sagen wollen Sie denken sollten, dass es nicht einmal ist. Fragen Sie Ihren Mathelehrer darüber.

+0

alles gut erklärt.Über die Null: Ich wollte nur sagen, in diesem Programm wollte ich nicht Null, das ist alles, was ich weiß, Null ist sogar. – bukowski

Verwandte Themen