2016-06-20 5 views
-2

Dies soll ein Programm für einen Ticketanbieter in Python sein. Es funktionierte gut, bis ich in den time.sleep Funktionen hinzufügte. Hier ist mein Code:time.sleep() Funktion ist offenbar eine Ursache für ungültige Syntax

import time 
    spaces = 61 
    def init(): 
     global spaces 
     if spaces > 1: 
      print("Welcome to OCR's car park!") 
      print("The number of spaces remaining is "+ str(spaces-1) +".") 
      print("What are the last three letters on your number plate?") 
      numplate = input() 
      if len(numplate) != 3: 
       print("These letters are invalid.") 
       time.sleep(1) 
       init() 
      elif numplate.isalpha(): 
       print("It's £3.45 for a ticket. Enter how much money you want to insert. Type 'cancel' to cancel.") 
     confirm = input() 
     if confirm == "cancel": 
      print("Payment cancelled.") 
      time.sleep(3) 
      init() 
     if int(confirm) < 345: 
      print("You don't have enough money.") 
      time.sleep(1) 
      init() 
      print("£" +str(confirm)+ " inserted.") 
      time.sleep(2) 
     if float(confirm)> 345: 
      print("Taking change...") 
      time.sleep(3) 
      confirm = float(confirm)-345 
      print("Change due: £" +str(len(confirm[0]))+ "." +str(len(confirm[1]))+str(len(confirm[2]))  
     time.sleep(1) 
     print("Printing ticket. Please wait.") 
     time.sleep(5) 
     print("Thank you for choosing OCR's car park!") 
     spaces -= 1 
     print("") 
     print("") 
     print("|-----|") 
     print("| "+str(numplate.upper())+"|") 
     print("|-----|") 
     print("") 
     print("") 
     init() 
    else: 
     print("These letters are invalid.") 
     time.sleep(1) 
     init() 
elif spaces < 2: 
    print("No More Spaces.") 
    init() 

Jedes Mal, wenn ich es laufen, zeigt es ein Pop-up sagen 'invalid syntax' und es zeigt immer auf den time.sleep(1) Funktion.

+4

Der Fehler ist in der obigen Zeile. Sie haben eine nicht geschlossene Klammer auf der Druckzeile oben. Es beschwert sich über die Schlaflinie, da diese Linie als Fortsetzung der obigen Linie interpretiert wird. Ich würde vorschlagen, dass Sie eine IDE wie PyCharm oder Eclipse ausprobieren, die diese Fehler für Sie hervorheben würde. – Dan

+0

Um Hilfe zu erhalten, sollten Sie zuerst den Einzug korrigieren – Tonechas

Antwort

1

Der Fehler ist in der folgenden Zeile von Ihnen.

print("Change due:£"str(len(confirm[0]))+"."+str(len(confirm[1]))+str(len(confirm[2])) 

Es fehlt eine schließende Klammer. Fügen Sie einfach eine weitere schließende Klammer hinzu.