creating a object in a method in python: invalid syntax
Question: I'm trying to make a little program to create and administrate accounts with a
bank. The code is written in German, I wrote the translation in the comments.
Every time I'm trying to compile the program the compiler says 'invalid
syntax', but doesn't highlight it. I can't find the problem, but it has to be
located in the method `kontoEroeffnen()` I would be very grateful for some
help.

    
    
    import sys
    
    # makes an account with bank
    
    
    class Konto :
        def __init__( self , laufzeit , ID , password , zinssatz):
            self.ID = ID#the ID of the account
            self.laufzeit = laufzeit#runtime of the account
            self.password = password
            self.zinssatz = zinssatz#interest rate
            self.kontostaende = list(range(laufzeit + 1)#array with the months
        def authentifizierung(self):                        #authentication of the user
            print("Geben Sie Ihre Konto ID ein")#input of the account-ID
            idl = int(sys.stdin.readline().rstrip())
            print("Geben Sie ihr Passwort ein")#input of the password
            passwort = int(sys.stdin.readline().rstrip())
            if idl == self.id :
                if passwort == self.password :
                    return True
    
                else:
                    print("Falsches Passwort")#output:wrong password
                    return False
            else:
                print("Erneut versuchen")#output:retry
                return False
        def einzahlen(self) :#pay into the bank
            if authentifizierung() :
                print("Wenn es Ihre Ersteinzahlung ist geben Sie e ein")#output:if this is your first pay, input 'e'
                print("Sonst geben Sie den Monat der Laufzeit ihres Kontos ein")#output:else:input the month of the runtime of your account
                eingabe = sys.stdin.readline().rstrip()
                if eingabe == 'e' :
                    print("Geben Sie den Betrag Ihrer Einzahlung ein")#output:you have to input the sum
                    self.kontostaende[0] = int(sys.stdin.readline().rstrip())
                    #Hier muss noch der Verweis zur Startsequenz hin....    //here I want a jump to the startsequency(not important now...)
                else:
                    index = int(eingabe)
                    if (index > 0 ) and (index < len(self.kontostaende)):
                        print("Geben Sie den Betrag Ihrer Einzahlung ein")
                        self.kontostaende[index] = int(sys.stdin.readline().rstrip())
                        # Hier muss wieder zur Startsequenz... 
            else :
                einzahlen()
    
        def kontosteandeVomErstenTagBerechnen(self):#calculate the account balances
            for i in self.kontostaende :
                self.kontostaende[i] = self.kontostaende[0]* pow((1 + self.zinssatz) , (i/self.laufzeit))
        def kontostaendeVomTagDerEinzahlungBerechnen(self , index):
            monate = list(range(laufzeit))          #macht eine Liste der zu veraendernden elementen  //makes a list of the elements who should be changed
            for i in range (index):                 # |
                del monate[0]                       #-|
            for i in monate :
                self.kontostaende[i + index] = self.kontostaende[index] * pow((1 + self.zinssatz) , ( i / (self.laufzeit - index)))
    
    def kontoEröffnen ():#create a new account
    
        print("Geben Sie die gewuenschte ID Ihres Kontos ein")#input the ID of your account
        ID = int(sys.stdin.readline().rstrip())
        print("Geben Sie das Passwort, das Sie benutzen wollen ein, achten sie darauf es niemandem zu verraten")#input the password of your account
        password = sys.stdin.readline().rstrip()
        print("Geben Sie die Laufzeit des Vertrags ein")#input the runtime of your account
        laufzeit = int(sys.stdin.readline().rstrip())
        print("Geben Sie den Zinssatz Ihres Vertrags ein, in Dezimalschreibweise.")#input the interest rate in decimal
        zinssatz = float(sys.stdin.readline().rstrip())
        konto = Konto(laufzeit , ID , password , zinssatz)                  
        return konto
        #noch nicht fertig // not finished because doesn't work
    def startsequenz (): #start sequency....doesn't matter for this.
        print (''' Geben Sie ein ob sie ein Konto haben oder eröffnen wollen!
    geben Sie, wenn Sie ein Konto haben, k ein, Sie e ein.''')
        if sys.stdin.read(1) == e :
            kontoEröffnen()
        #nicht fertig
    


Answer: You are missing a closing parenthesis in your `Konto.__init__` method:

    
    
    self.kontostaende = list(range(laufzeit + 1)#array with the months
    #             ------------------------------^ missing
    

Add the parenthesis there at the end:

    
    
    self.kontostaende = list(range(laufzeit + 1))
    

