2015-05-13 11 views
6

Ho un programma Python che chiede all'utente di immettere come una shell e se rilevo alcune parole chiave specifiche voglio entrare in alcune funzioni specifiche.Riprodurre un array di puntatori a funzione C in Python

Il fatto è che vorrei evitare di fare un sacco di if e else if. Solitamente in C per evitare questa situazione, utilizzo un array di puntatori a funzione che viaggio con un while e uso strcmp per verificare l'input.

Mi piacerebbe sapere come farlo in Python se è anche possibile.

+0

Siete alla ricerca di qualcosa di simile http://stackoverflow.com/q/60208/3001761? Per quelli di noi non * au fait * con C, potrebbe essere utile fornire maggiori informazioni su ciò di cui si sta parlando. – jonrsharpe

+1

Forse vuoi un dizionario che associ chiavi di stringa alle funzioni? Non capisco perché è necessario utilizzare un ciclo while in C. – Shashank

+0

@Shashank è possibile utilizzare un ciclo while se la matrice dei puntatori funzione è stata terminata con NULL. –

risposta

7

In Python si utilizza uno dictionary.

Esempio:

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

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