Un saluto a tutti e un grazie anticipato al volenteroso che avrà avuto la pazienza e la capacità di darmi una soluzione.

ho queste liste:

riepilogo_numeri_singoli = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
                            25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]

ritardo_numeri_singoli = [22, 0, 18, 34, 20, 7, 2, 1, 30, 22, 55, 47, 53, 49, 52, 38, 12, 41, 29, 5, 11, 44, 26, 33, 40, 13, 50, 39, 4, 21,
                          45, 3, 53, 32, 6, 25, 55]

numeri_singoli_in_ordine = []
ritardo_numeri_singoli_ordine_decrescente = []


La mia intenzione è di inserire tutti gli elementi della lista ritardo_numeri_singoli nella lista ritardo_numeri_singoli_ordine_decrescente in modo da

avere tutti gli elementi distribuiti in ordine di grandezza dal più grande al più piccolo. Ciò fatto, ho poi l'esigenza che gli elementi della lista riepilogo_numeri_singoli

vengano inseriti all'interno della lista numeri_singoli_in_ordine in base all'indice corrispondente di ogni elemento contenuto nella lista ritardo_numeri_singoli ora inserito nella lista ritardo_numeri_singoli_ordine_decrescente.

In pratica, nella lista ritardo_numeri_singoli_ordine_decrescente voglio ottenere questa situazione [55, 55, 53, 53, 52, .............., 0]

e nella lista numeri_singoli_in_ordine voglio ottenere questa situazione [10, 36, 12, 32, .............] questo perchè il primo numero più grande della lista ritardo_numeri_singoli_ordine_decrescente (il primo 55)

nella lista_ritardo_numeri_singoli aveva indice 10 e all'indice 10 corrisponde il numero 10 della lista riepilogo_numeri_singoli.

Quando eseguo il codice che ho scritto, il programma non segnala alcun errore ma resta in esecuzione senza concludersi. in pratica, come se entrasse in un loop infinito ma senza stampare nulla a video.

Carta e penna alla mano e una riga di codice alla volta, continuo ad essere convinto che tutto dovrebbe girare bene fino a concludersi ma non è così e non comprendo perchè.

Di seguito, inserisco il codice che sta causando la mia emicrania. Dov'è l'errore?


riepilogo_numeri_singoli = 
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
                            25,26,27,28,29,30,31,32,33,34,35,36]

ritardo_numeri_singoli = 
[22,0,18,34,20,7,2,1,30,22,55,47,53,49,52,38,12,41,29,5,11,44,26,33,40,13,50,39,4,21,
                          45,3,53,32,6,25,55]

numeri_singoli_in_ordine = []
ritardo_numeri_singoli_ordine_decrescente = []


ritardo_numeri_singoli_ordine_decrescente = ritardo_numeri_singoli[0:]
ritardo_numeri_singoli_ordine_decrescente.sort(reverse=True)
lunghezza_ritardo_numeri_singoli_ordine_decrescente 
=len(ritardo_numeri_singoli_ordine_decrescente)
posizione =0 for ordinein range 
(lunghezza_ritardo_numeri_singoli_ordine_decrescente):
    if ordine >0 and ritardo_numeri_singoli_ordine_decrescente[ordine] == 
ritardo_numeri_singoli_ordine_decrescente[ordine -1]:
        non_trovato =True while True:
            if ritardo_numeri_singoli_ordine_decrescente[ordine] == 
ritardo_numeri_singoli[posizione +1]:
                posizione = 
ritardo_numeri_singoli.index(ritardo_numeri_singoli_ordine_decrescente[posizione
 +1])
                numeri_singoli_in_ordine.insert(ordine, 
riepilogo_numeri_singoli[posizione])
                non_trovato =False else:
                posizione +=1 else:
        posizione = 
ritardo_numeri_singoli.index(ritardo_numeri_singoli_ordine_decrescente[ordine])
        numeri_singoli_in_ordine.insert(ordine, 
riepilogo_numeri_singoli[posizione])

print()
print(riepilogo_numeri_singoli)
print(ritardo_numeri_singoli)
print()
print(numeri_singoli_in_ordine)
print(ritardo_numeri_singoli_ordine_decrescente)

_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a