Menu di scelta

Una struttura del programma molto comune in passato.
L’utente sceglie l’operazione che deve essere eseguita indicandola con il numero corrispondente, specificato in un menu.

1

Finché la scelta è diversa da 0 si ripete il ciclo: menu --> scelta --> operazione --> ...

scelta = -1
while(scelta != 0):
    # menu
    # ...

    scelta = int(input("Scegli: "))

    # esegue l'operazione scelta
    # ...

2

La scelta dell’operazione da eseguire avviene con una scelta multipla ifelifelse

scelta = -1
while(scelta != 0):
    print("-------------------------")
    print("0. Uscita")
    print() 
    print("1. Operazione alfa")
    print("2. ...        beta")
    print("3. ...        gamma")
    # ...

    print()
    scelta = int(input("Scegli: "))
    print("------------------------")
 
    if(scelta == 0):   pass
    elif(scelta == 1): print("Operazione --alfa--")
    elif(scelta == 2): print("Operazione --beta--") 
    elif(scelta == 3): print("Operazione --gamma--")
    # ...
    # ...
    else:              print("Non capisco...")

print("Soddisfatto o rimborsato!")

3

Per semplificare il controllo del while si può utilizzare break, si interrompe il ciclo infinito determinato dal valore True.

while(True):
    # ...
    # ...

    scelta = int(input("Scegli: "))

    if(scelta == 0): break
    # ...
    # ...

4

Per snellire il main la visualizzazione del menu e le operazioni si possono realizzare tramite delle funzioni.

def alfa()      : ...
def beta()      : ...
def gamma()     : ...
def nonCapisco(): ...
def menu()      : ... 

while(True):
    menu()
    scelta=int(input("Scegli: "))

    if(scelta == 0)  : break
    elif(scelta == 1): alfa()
    elif(scelta == 2): beta()
    elif(scelta == 3): gamma()
    ...              : ...
    else             : nonCapisco()

print("Soddisfatto o rimborsato!")