2016-06-30 11 views
-1

Ich versuche, ein einfaches Programm zu starten, aber ich kann nicht scheinen, diesen Syntaxfehler zu überwinden.Wenn Statement SyntaxError: ungültige Syntax?

try: 
    grade = float(raw_input("Enter a score between 0.0 and 1.0:\n")) 
    if grade < 0 or grade > 1 
     print ("That is not between 0.0 or 1.0") 
    elif grade >= .9 
     print ("A") 
    elif grade >= .8 and grade < .9 
     print ("B") 
    elif grade >= .7 and grade < .8 
     print ("C") 
    elif grade >= .6 and grade < .7 
     print ("D") 
    else grade < .6 
     print ("F") 

except: 
    print ("Enter a numeric value!") 

Der Fehler ich erhalte, ist Zeile 3, wenn Grad < 0 oder Klasse> 1: Syntaxerror: ungültige Syntax. Hilfe?

+0

Sie benötigen einen Doppelpunkt nach dem if und else Aussagen. 'wenn Klasse <0 oder Klasse> 1:' –

Antwort

3

if, elif und else Anweisungen (zusammen mit einigen anderen) in Python erfordern einen Doppelpunkt am Ende der Zeile. Zum Beispiel:

if grade < 0 or grade > 1: 

Auch ist else eine allumfassende und somit keine Bedingung nicht verwendet.

else: 
+0

Danke Tigerhawk, ich werde das im Hinterkopf behalten !!! Jetzt bekomme ich einen Fehler in Zeile 13 auf der Else-Anweisung, auch nachdem ich den Doppelpunkt hinzugefügt habe ... Könnten Sie beraten? – HotChile

+0

@HotChile - An diesem Punkt im Code muss 'grade'_must_ kleiner als 0,6 sein. Sie können explizit (und redundant) nach 'elif grade <0.6 'suchen oder eine' else 'Anweisung verwenden. Die "else" -Anweisung nimmt keine Bedingung an. Bitte beachten Sie [den entsprechenden Abschnitt im Tutorial] (https://docs.python.org/3.5/tutorial/controlflow.html#if-statements). – TigerhawkT3

+0

Ich sehe, was du meinst, ich mache es nur eine andere Aussage ohne eine Bedingung. Vielen Dank! – HotChile

0

Beachten Sie die Syntax für die if, else if (Elif) und andere Aussagen

try: 
    grade = float(raw_input("Enter a score between 0.0 and 1.0:\n")) 
    if grade < 0 or grade > 1: 
     print ("That is not between 0.0 or 1.0") 
    elif grade >= .9: 
     print ("A") 
    elif grade >= .8 and grade < .9: 
     print ("B") 
    elif grade >= .7 and grade < .8: 
     print ("C") 
    elif grade >= .6 and grade < .7: 
     print ("D") 
    else: 
     print ("F") 

except: 
    print ("Enter a numeric value!") 
+0

Zeile 13, oder die Else-Anweisung gibt mir immer noch einen Syntaxfehler: Ungültige Syntax .... Hilfe? – HotChile

+0

@HotChile Entschuldigung bitte überprüfen Sie die aktualisierte Antwort. Else fängt alles außerhalb der zuvor definierten Bedingungen ab. –