2016-08-30 4 views
0

Mein Python-Code funktioniert aus irgendeinem Grund nicht. Er sagt, der Fehler wird von der Syntax der Funktion kommen, aber ich bin nicht sicher, warum ihre tun, dassPython-Syntaxfehler mit Funktion

one=1 
two=2 
three=3 
four=4 
five=5 
six=6 
seven=7 
eight=8 
nine=9 
ten=10 
print "test" 
def convert() 
    number = raw_input('Enter the number you need converted to binary') 
enterYourCommand = raw_input("Enter your command") 
if enterYourCommand is "convert" 
    convert() 
elif enterYourCommand is "tonumber" 
    tonumber() 
+2

Sie fehlen Doppelpunkte ':' nach Ihren 'def', 'if' und' elif' Anweisungen. –

+2

Neben dem Doppelpunkt Problem, werden Sie bald den Unterschied zwischen '==' und 'ist' – Will

Antwort

1

Sie haben noch : nach Funktionsdefinition und wenn ist:

one=1 
two=2 
three=3 
four=4 
five=5 
six=6 
seven=7 
eight=8 
nine=9 
ten=10 
print "test" 

def convert(): 
    number = raw_input('Enter the number you need converted to binary') 

enterYourCommand = raw_input("Enter your command") 

if enterYourCommand is "convert": 
    convert() 
elif enterYourCommand is "tonumber": 
    tonumber() 
0

Sie verfehlten die Doppelpunkte nach if, elif und def. Sie müssen mit vier Leerzeichen einrücken. Beispiele finden Sie unter this link.

one = 1 
two = 2 
three = 3 
four = 4 
five = 5 
six = 6 
seven = 7 
eight = 8 
nine = 9 
ten = 10 

enterYourCommand = raw_input("Enter your command") 

def convert(): 
    number = raw_input('Enter the number you need converted to binary') 

if enterYourCommand == "convert": 
    convert() 
elif enterYourCommand == "tonumber": 
    tonumber() 

Ich hoffe, es hilft.

EDIT

ersetzen is mit ==.

  • is kehrt True wenn zwei Variablen auf das gleiche Objekt zeigen
  • == wird True zurück, wenn die durch die Variablen genannten Objekte gleich sind.

Quellen: is-there-a-difference-between-and-is-in-python

+0

Es hat keine Fehler mehr, aber wenn ich convert als rohe Eingabe eingeben seine Frage mich für die if-Anweisung erkennt es nicht und die Konvertierungsfunktion . Irgendwelche Ideen warum? –

+0

Siehe die bearbeitete Antwort. Es verwendet '==' anstelle von 'ist', um es zu funktionieren. – JazZ

0

Alle Python-Funktionen einen Doppelpunkt : am Ende ihrer Deklarationszeile haben sollten.

Zum Beispiel:

def convert(): 
     number = raw_input('Enter the number you need converted to binary') 

Auch ist das gleiche mit Ihren if und elif Erklärungen:

if enterYourCommand is "convert": 
     convert() 
    elif enterYourCommand is "tonumber": 
     tonumber() 

So fügen Sie einfach : am Ende jeder Erklärung und Sie sollten gut sein gehen.