2015-05-13 5 views
6

Ich habe ein Python-Programm fragt den Benutzer für die Eingabe wie eine Shell, und wenn ich einige bestimmte Schlüsselwörter erkennen, möchte ich in einige bestimmte Funktionen gehen.Reproduzieren einer C-Funktion Zeiger-Array in Python

Die Sache ist, dass ich gerne viele if und else if tun würde. Um diese Situation zu vermeiden, benutze ich normalerweise in C ein Funktionszeigerarray, das ich mit while fahre und strcmp verwende, um den Eingang zu überprüfen.

Ich würde gerne wissen, wie man das in Python macht, wenn es überhaupt möglich ist.

+0

Suchen Sie nach so etwas wie http://stackoverflow.com/q/60208/3001761? Für diejenigen von uns, die mit C nicht * au fait * sind, könnte es hilfreich sein, mehr Informationen darüber zu geben, worüber Sie sprechen. – jonrsharpe

+1

Vielleicht möchten Sie ein Wörterbuch Mapping String-Tasten für Funktionen? Ich verstehe nicht, warum Sie eine while-Schleife in C verwenden müssten. – Shashank

+0

@Shashank Sie könnten eine while-Schleife verwenden, wenn das Array von Funktionszeigern NULL-terminiert ist. –

Antwort

7

In Python verwenden Sie eine dictionary.

Beispiel:

keyword2func = { 
    "word1": function_word1, 
    "word2": function_word2, 
} 

word = input("") 
keyword2func[word]() 
Verwandte Themen