Tabelle di distribuzione, o piuttosto dizionari.
Si mappano i tasti aka. valori della selezione del menu alle funzioni che eseguono le seguenti scelte:
def AddRecordHandler():
print("added")
def DeleteRecordHandler():
print("deleted")
def CreateDatabaseHandler():
print("done")
def FlushToDiskHandler():
print("i feel flushed")
def SearchHandler():
print("not found")
def CleanupAndQuit():
print("byez")
menuchoices = {'a':AddRecordHandler, 'd':DeleteRecordHandler, 'c':CreateDatabaseHandler, 'f':FlushToDiskHandler, 's':SearchHandler, 'q':CleanupAndQuit}
ret = menuchoices[input()]()
if ret is None:
print("Something went wrong! Call the police!")
menuchoices['q']()
Ricordarsi di convalidare l'immissione! :)
fonte
2010-10-20 14:08:40
Duplicato di tutti questi: http://stackoverflow.com/search?q=%5Bpython%5D+switch. –
Vedere anche la domanda [l'interruttore in Python non funziona; bisogno di un altro modello] (http://stackoverflow.com/questions/3886641/switch-case-in-python-doesnt-work-need-another-pattern/3893242#3893242). – martineau