<div dir="ltr"><div>2018-02-04 16:01 GMT+01:00 Carpediem <span dir="ltr"><<a href="mailto:i.carpediem@tiscali.it" target="_blank">i.carpediem@tiscali.it</a>></span>:<br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p style="margin:0cm 0cm 0.0001pt">Un ringraziamento per
Daniele e
tutta la mia disponibilità a seguire il consiglio di Marco. </p>
<p style="margin:0cm 0cm 0.0001pt">Intanto grazie per
avermi fatto
notare gli errori che sono stati evidenziati con i punti
interrogativi. Dopodiché,
ho continuato col provare a cercare autonomamente una soluzione.
Pensavo di
esserci riuscito ma ancora una volta il risultato non è stato
quello che mi
aspettavo anche se apparentemente è meno disastroso del precedente
tentativo:
Ho accorciato il codice per facilitarne la lettura. Il risultato
che mi attendevo
alla fine del ciclo for,<b><u><font size="+1"> una volta inserito
il numero 2 in input</font></u></b>, era la lista
ritardo_cavalli
così composta: [1, 0, 0, 1, 0, 1, 1, 0] invece il risultato che
ottengo è
questo:</p>
<p style="margin:0cm 0cm 0.0001pt">[1, 0, 1, 0, 1, 0, 0,
1]. </p>
<p style="margin:0cm 0cm 0.0001pt">Perché? il mio dubbio è
che quando
chiedo di incrementare il valore indicato nel rispettivo indice
della lista, in
realtà, nel corso del ciclo, viene incrementato l'indice stesso.
Non comprendo
l'errore. Il codice si conclude senza segnalazioni ma il risultato
non è quello
che volevo. Riuscite a spiegarmi l’errore? Vi ringrazio. Questo il
codice all'osso:</p>
<p>cavallo_0_1 = [0, 1]<br>
cavallo_0_2 = [0, 2]<br>
cavallo_0_3 = [0, 3]<br>
cavallo_1_2 = [1, 2]<br>
cavallo_1_4 = [1, 4]<br>
cavallo_2_3 = [2, 3]<br>
cavallo_2_5 = [2, 5]<br>
cavallo_3_6 = [3, 6]<br>
riepilogo_cavalli = [cavallo_0_1, cavallo_0_2, cavallo_0_3,
cavallo_1_2, cavallo_1_4, cavallo_2_3, cavallo_2_5,<br>
cavallo_3_6,]<br>
ritardo_cavalli = [0, 0, 0, 0, 0, 0, 0, 0]<br>
print()<span class="gmail-"><br>
numero_uscito = int(input("inserisci il numero uscito "))<br>
print()<br></span>
lunghezza_ritardo_cavalli = len(ritardo_cavalli)<br>
for valore_indice in range(lunghezza_ritardo_<wbr>cavalli):<br>
if numero_uscito not in riepilogo_cavalli[valore_<wbr>indice]:<br>
ritardo_cavalli[valore_indice] += 1<br>
else:<br>
ritardo_cavalli[valore_indice] = 0<br></p></div></blockquote><div><br></div><div>Il codice fa esattamente quello che gli stai facendo fare.</div><div><br></div><div>Tu scorri il contenuto della lista dei cavalli che vale questo:</div><div><br></div><div><div> [[0, 1], [0, 2], [0, 3], [1, 2], [1, 4], [2, 3], [2, 5], [3, 6]]</div></div><div><br></div><div>Inserendo 2 e scorrendo gli 8 elementi di questa lista, incrementi il corrispondente valore di ritarto_cavalli se il cavallo che stai controllando non contiene 2.</div><div><br></div><div>Degli 8 cavalli, quelli che non hanno il 2 sono il primo (posizione 0), il terzo (2), il quinto (4) e l'ultimo (7).</div><div><br></div><div>Quindi è corretto che alla fine ritardo_cavalli valga [1, 0, 1, 0, 1, 0, 0, 1] con incrementati gli elementi 0, 2, 4 e 7 e azzerati gli altri quattro.</div><div><br></div><div>Ciao.<br>Marco.</div><div><br></div></div>
</div></div>