2017-04-27 5 views
-3

ich eine elif-Anweisung einzurichten versuchen, wo, wenn der Benutzer der Code der Enter-Taste trifft weiterhin, ich jedoch konstant SyntaxfehlerWarum dieses if-Anweisung verursacht einen Syntaxfehler

GTIN = 0 
while True: 
    try: 
     GTIN = int(input("input your gtin-8 number:")) 
     if len(str(GTIN)) == 8: 
      break 
     else: 
      print("make sure the length of the barcode is 8") 
     elif: 
      GTIN=(""): 
+0

Die Reihenfolge muss 'if' dann (null oder mehr)' elif' dann zuletzt 'else' sein. Auch "elif" muss eine Bedingung haben, um "if" zu prüfen. – CoryKramer

+5

'else' muss die letzte Klausel sein, und' elif' muss einen Test haben. –

+1

Sie haben in Ihrem Code keinen Ausnahmefall. – roganjosh

Antwort

2

Sie bin immer kann else vor elif nicht verwenden. Das andere Problem, Sie müssen except in Ihrem try hinzufügen.

GTIN = 0 
while True: 
    GTIN = int(input("input your gtin-8 number:")) 
    if len(str(GTIN)) == 8: 
    print("OK: %s" % GTIN) 
    break 
    else: 
    print("make sure the length of the barcode is 8") 

Edit: Sie die elif nicht brauchen. Wenn die Eingangslänge 8 OK ist, wiederholen Sie den Vorgang.

Edit2: Benötigen Sie auch nicht try except. ps: print ("") Wenn Sie Python 3 verwenden

+0

erzeugt immer noch 'SyntaxError'. – MSeifert

+0

Entschuldigung, bearbeitet. Sie brauchen elif nicht zu benutzen. –

Verwandte Themen