Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

range con decremento

a
a.pietroluongo (11250 points)
20 39 131
in Programmare in python by (11.3k points)
closed by

Premetto che so che per creare un ciclo con decremento  è possibile utilizzare la funzione reversed, la domanda è perché quando utilizzo la funzione range() con passo negativo e stampo lista[i] mi ritorna Errore  mentre se stampo gli indici della lista (cioè le posizioni 0, 1, 2, 3) mi ritorna gli output corretti?

lista= [1,2,3,4]

for i in range(len(lista),0, -1):
    print (lista[i], end='  ')

----> 2     print (lista[i], end='  ')
IndexError: list index out of range


for i in range(len(lista),0, -1):
    print (i , end=' ')
Out: 4 3 2 1


 

352 views
closed with the note: answered

1 Answer

_andrea_ (45670 points)
13 42 297
by (45.7k points)
Perché se fai partire i da len(lista) e la lista ha 4 elementi, i parte da 4, ma lista[4] non esiste quindi il range giusto è range(len(lista)-1,-1,-1)
a
a.pietroluongo (11250 points)
20 39 131
by (11.3k points)
Mi trovo

grazie