commands = {} def add_command(name): def decorator(f): commands[name] = f return f return decorator @add_command("erstellen") def erstelleWörterbuch(): wb = {} for i in range(10): native = input() translated = input() wb[native] = translated return wb @add_command("suchen") def findeÜbersetzung(wb, wort): return wb.get(wort) @add_command("auflisten") def erstelleIndex(wb): return list(wb.keys()) @add_command("existiert") def existiertÜbersetzung(wb, übersetzung): return übersetzung in list(wb.values()) if __name__ == "__main__": import inspect wörterbuch = {} while True: print("Mögliche Aktionen:") print(", ".join(list(commands.keys()))) print("Geben sie eine Aktion an") aktion = input() if aktion not in commands.keys(): print("Aktion nicht verfügbar") continue ag = [] for arg in list(inspect.getargspec(commands[aktion]).args): if arg == "wb": ag.append(wörterbuch) else: print("argument", arg) ag.append(input()) r = commands[aktion](*ag) if aktion == "erstellen": wörterbuch = r else: print(r)