<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
</head>
<body>
<p>Un saluto a tutti e un grazie anticipato al volenteroso che avrà
avuto la pazienza e la capacità di darmi una soluzione.</p>
<p>ho queste liste:</p>
<p>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,<br>
25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36]<br>
<br>
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,<br>
45, 3, 53, 32, 6, 25, 55]<br>
<br>
</p>
<pre style="background-color:#ffffff;color:#000000;font-family:'Consolas';font-size:9,8pt;">numeri_singoli_in_ordine = []
ritardo_numeri_singoli_ordine_decrescente = []</pre>
<p><br>
</p>
<p>La mia intenzione è di inserire tutti gli elementi della lista
ritardo_numeri_singoli nella lista
ritardo_numeri_singoli_ordine_decrescente in modo da</p>
<p>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</p>
<p>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.</p>
<p>In pratica, nella lista ritardo_numeri_singoli_ordine_decrescente
voglio ottenere questa situazione [55, 55, 53, 53, 52,
.............., 0]</p>
<p>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)<br>
</p>
<p>nella lista_ritardo_numeri_singoli aveva indice 10 e all'indice
10 corrisponde il numero 10 della lista riepilogo_numeri_singoli.
<br>
</p>
<p>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.</p>
<p>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è.</p>
<p>Di seguito, inserisco il codice che sta causando la mia
emicrania. Dov'è l'errore?</p>
<p><br>
</p>
<pre style="background-color:#ffffff;color:#000000;font-family:'Consolas';font-size:9,8pt;">riepilogo_numeri_singoli = [<span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">1</span>, <span style="color:#0000ff;">2</span>, <span style="color:#0000ff;">3</span>, <span style="color:#0000ff;">4</span>, <span style="color:#0000ff;">5</span>, <span style="color:#0000ff;">6</span>, <span style="color:#0000ff;">7</span>, <span style="color:#0000ff;">8</span>, <span style="color:#0000ff;">9</span>, <span style="color:#0000ff;">10</span>, <span style="color:#0000ff;">11</span>, <span style="color:#0000ff;">12</span>, <span style="color:#0000ff;">13</span>, <span style="color:#0000ff;">14</span>, <span style="color:#0000ff;">15</span>, <span style="color:#0000ff;">16</span>, <span style="color:#0000ff;">17</span>, <span style="color:#0000ff;">18</span>, <span style="color:#0000ff;">19</span>, <span style="color:#0000ff;">20</span>, <span style="color:#0000ff;">21</span>, <span style="color:#0000ff;">22</span>, <span style="color:#0000ff;">23</span>, <span style="color:#0000ff;">24</span>,
<span style="color:#0000ff;">25</span>, <span style="color:#0000ff;">26</span>, <span style="color:#0000ff;">27</span>, <span style="color:#0000ff;">28</span>, <span style="color:#0000ff;">29</span>, <span style="color:#0000ff;">30</span>, <span style="color:#0000ff;">31</span>, <span style="color:#0000ff;">32</span>, <span style="color:#0000ff;">33</span>, <span style="color:#0000ff;">34</span>, <span style="color:#0000ff;">35</span>, <span style="color:#0000ff;">36</span>]
ritardo_numeri_singoli = [<span style="color:#0000ff;">22</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">18</span>, <span style="color:#0000ff;">34</span>, <span style="color:#0000ff;">20</span>, <span style="color:#0000ff;">7</span>, <span style="color:#0000ff;">2</span>, <span style="color:#0000ff;">1</span>, <span style="color:#0000ff;">30</span>, <span style="color:#0000ff;">22</span>, <span style="color:#0000ff;">55</span>, <span style="color:#0000ff;">47</span>, <span style="color:#0000ff;">53</span>, <span style="color:#0000ff;">49</span>, <span style="color:#0000ff;">52</span>, <span style="color:#0000ff;">38</span>, <span style="color:#0000ff;">12</span>, <span style="color:#0000ff;">41</span>, <span style="color:#0000ff;">29</span>, <span style="color:#0000ff;">5</span>, <span style="color:#0000ff;">11</span>, <span style="color:#0000ff;">44</span>, <span style="color:#0000ff;">26</span>, <span style="color:#0000ff;">33</span>, <span style="color:#0000ff;">40</span>, <span style="color:#0000ff;">13</span>, <span style="color:#0000ff;">50</span>, <span style="color:#0000ff;">39</span>, <span style="color:#0000ff;">4</span>, <span style="color:#0000ff;">21</span>,
<span style="color:#0000ff;">45</span>, <span style="color:#0000ff;">3</span>, <span style="color:#0000ff;">53</span>, <span style="color:#0000ff;">32</span>, <span style="color:#0000ff;">6</span>, <span style="color:#0000ff;">25</span>, <span style="color:#0000ff;">55</span>]
numeri_singoli_in_ordine = []
ritardo_numeri_singoli_ordine_decrescente = []
ritardo_numeri_singoli_ordine_decrescente = ritardo_numeri_singoli[<span style="color:#0000ff;">0</span>:]
ritardo_numeri_singoli_ordine_decrescente.sort(<span style="color:#660099;">reverse</span>=<span style="color:#000080;font-weight:bold;">True</span>)
lunghezza_ritardo_numeri_singoli_ordine_decrescente = <span style="color:#000080;">len</span>(ritardo_numeri_singoli_ordine_decrescente)
posizione = <span style="color:#0000ff;">0
</span><span style="color:#000080;font-weight:bold;">for </span>ordine <span style="color:#000080;font-weight:bold;">in </span><span style="color:#000080;">range </span>(lunghezza_ritardo_numeri_singoli_ordine_decrescente):
<span style="color:#000080;font-weight:bold;">if </span>ordine > <span style="color:#0000ff;">0 </span><span style="color:#000080;font-weight:bold;">and </span>ritardo_numeri_singoli_ordine_decrescente[ordine] == ritardo_numeri_singoli_ordine_decrescente[ordine - <span style="color:#0000ff;">1</span>]:
non_trovato = <span style="color:#000080;font-weight:bold;">True
</span><span style="color:#000080;font-weight:bold;"> while True</span>:
<span style="color:#000080;font-weight:bold;">if </span>ritardo_numeri_singoli_ordine_decrescente[ordine] == ritardo_numeri_singoli[posizione + <span style="color:#0000ff;">1</span>]:
posizione = ritardo_numeri_singoli.index(ritardo_numeri_singoli_ordine_decrescente[posizione + <span style="color:#0000ff;">1</span>])
numeri_singoli_in_ordine.insert(ordine, riepilogo_numeri_singoli[posizione])
non_trovato = <span style="color:#000080;font-weight:bold;">False
</span><span style="color:#000080;font-weight:bold;"> else</span>:
posizione += <span style="color:#0000ff;">1
</span><span style="color:#0000ff;"> </span><span style="color:#000080;font-weight:bold;">else</span>:
posizione = ritardo_numeri_singoli.index(ritardo_numeri_singoli_ordine_decrescente[ordine])
numeri_singoli_in_ordine.insert(ordine, riepilogo_numeri_singoli[posizione])
<span style="color:#000080;">print</span>()
<span style="color:#000080;">print</span>(riepilogo_numeri_singoli)
<span style="color:#000080;">print</span>(ritardo_numeri_singoli)
<span style="color:#000080;">print</span>()
<span style="color:#000080;">print</span>(numeri_singoli_in_ordine)
<span style="color:#000080;">print</span>(ritardo_numeri_singoli_ordine_decrescente)</pre>
</body>
</html>