# Lezione 10 - Esercizio 7
# Creare una lista di liste con diversi elementi.
# Utilizzare un ciclo while per permettere all'utente di continuare a
# scegliere quale lista e quale elemento visualizzare, finché non decide
# di uscire inserendo un indice speciale, ad esempio 66.

lista_di_liste = [
    [20, 30, 12],
    [34, 150, 777],
    [1, 2, 3],
    [6, 3, 90]
]

print("Rieccoci con l'esercizio 5 ma continuativo. Ebbene sì, farò un copia incolla, perché è la vera natura dei programmatori.")

while True:
    indice_esterno = len(lista_di_liste) * 100
    while not -len(lista_di_liste) <= indice_esterno < len(lista_di_liste):
        indice_esterno = int(input(f"Inserisci l'indice più esterno, quello relativo alla lista di liste (0-{len(lista_di_liste) - 1}): "))
        if indice_esterno == 66:
            print("Dunque hai scelto morte. Ora uscirai dal programma.")
            exit(0)

    indice_interno = len(lista_di_liste[indice_esterno]) * 100
    while not -len(lista_di_liste[indice_esterno]) <= indice_interno < len(lista_di_liste[indice_esterno]):
        indice_interno = int(input(f"Bene, ora inserisci l'indice più interno, quello relativo alla lista interna che hai scelto (0-2): "))
        if indice_interno == 66:
            print("Dunque hai scelto morte. Ora uscirai dal programma.")
            exit(0)

    print(f"L'elemento che hai scelto è {lista_di_liste[indice_esterno][indice_interno]}")