2017-03-15 5 views
0

Jedes Mal, wenn ich die if-Anweisung direkt nach der Eingabe verwende, erhalte ich einen Fehler. Zum Beispiel:Python: Geben Sie eine Zahl ein und geben Sie zurück, ob es gerade oder ungerade ist

num = input("Enter a number: ") 
if num % 2 == 0: 
    print("Even Number") 
else: 
    print("Odd Number") 

ich diesen Fehler:

Traceback (jüngste Aufforderung zuletzt): Datei "Python", Zeile 2, in Typeerror: nicht alle Argumente während Zeichenfolge konvertiert Formatierung

Was mache ich falsch?

+0

"input" gibt eine Zeichenfolge in Python 3 zurück und Python denkt, dass Sie versuchen, mit '%' hier zu formatieren. Sie sollten in einen numerischen Typ konvertieren –

Antwort

2

Eingabe gibt eine Zeichenfolge zurück. Sie müssen typecast auf einen int schreiben.

num = int(input("Enter a number: ")

oder

if int(num) % 2 == 0:

4

Sie Python 3 verwenden, wo input einen String zurückgibt. Konvertieren Sie Ihre Eingabe in eine Ganzzahl mit int(input("Enter a number: ")).

Verwandte Themen