(Python3.5.2) Funktionen über Dict aufrufen

Guten Tag allerseits, Mein erster Post in diesem Forum, bitte seht mir nach wenn ich versehentlich mit Konventionen brechen sollte :) Es geht um die Dictionarys in Python (ver: > 3) Folgendes soll laufen: Ein User gibt Input ein, dieser wird in einer Liste gespeichert. Nun möchte ich die Liste durchlaufen und für jedes Element der Liste den entsprechenden Schlüssel im Dict suchen und den dazugehörigen Code (in einer Funktion untergebracht) ausführen. Suchmaschinen habe ich schon benutzt, leider ohne Erfolg. Codefragment:
Code:
  commands = [---die eingegebenen commands----]   commandInterpreter = {"INP": inp, "OUT": "Out?!?"}   def inp():     print("Hallo Welt")    def run():    for x in commands:           commandInterpreter[x]
Das ganze liefert dann folgendes Ergebnis:
Code:
Irgendwie scheint die Funktion ja angesprochen zu werden, nur führt es den print nicht aus :/ Wäre um Hilfe echt dankbar, bin noch ein Neuling in Sachen Python Grüße The Gremlin
 
Zuletzt bearbeitet:
So, jetzt antworte ich mir tatsächlich selbst. Sorry für diese grauenhafte Formatierung, Zeilenumbrüche werden nicht angenommen. :/ Das bekomm ich im Terminal angezeigt:
(function Core.main.(locals)inp at 0x7f6eda273b70) --> Spitze Klammern durch Runde ersetzt
Anbei: Mich beschleicht das Gefühl das dieses Board JScript benötigt. Liege ich da richtig?
 
Zuletzt bearbeitet:
So. Ich habe es gebacken bekommen, war ein trivialer Fehler. Für die, die das gleiche Problem irgendwann auch haben:

Code:
  commandInterpreter = {"some key": key,}
  def run():    
            nonlocal commandInterpreter
            for x in commands: # Liste "commando" durchlaufen
                tmpCommand = x[:3] # Nur die erten 3 Zeichen von Command einlesen
            
                if(tmpCommand not in commandInterpreter):
                    print("Your Command" + x + "is not in the List!")
                else:
                    commandInterpreter[tmpCommand]()  #<- da müssen runde klammern dran, sonst spinnts mit den Parametern rum!
                    return
 
Zurück
Oben