ES1 Homework 1 (Recupero)

a
acul90ml (260 points)
0 4 5
asked Jan 3, 2019 in HW1bis by acul90ml (260 points)
recategorized Jan 3, 2019 by andrea.sterbini
Salve, sto provando a risolvere l'esercizio usando pop() ma giustamente quando la lista si riduce mi da errore out of range.

Come si potrebbe far capire a Python che una volta che len(l) = c , deve scorrere anche oltre la sua len ricominciando dall inizio?
172 views

3 Answers

marco.giuliani (23860 points)
1 13 62
answered Jan 3, 2019 by marco.giuliani (23,860 points)
Devi mettere quel ciclo all'interno di un altro ciclo, in modo che, una volta che il ciclo fino a len(l)= c è finito, ricominci il ciclo esterno, che ti fa ricominciare il ciclo interno.
I cicli possono ovviamente essere sia for che while
L
Lorespo (610 points)
0 13 17
answered Jan 3, 2019 by Lorespo (610 points)
Aggiungerei che se utilizzi il ciclo for con il range che va fino a len(l) la lunghezza considerata è sempre quella iniziale, mentre sfruttando il ciclo while e una variabile contatore la condizione viene controllata ad ogni iterazione
a
acul90ml (260 points)
0 4 5
commented Jan 3, 2019 by acul90ml (260 points)
Si ma se uso la pop me l accorcia lo stesso perché poi gli devo far capire che deve prendere la lista che va da l[c:] + l[0:c] altrimenti se continua a contare e arriva alla fine della lista dice out of range
m
matia plateroti (1600 points)
0 12 23
answered Jan 3, 2019 by matia plateroti (1,600 points)
https://q2a.di.uniroma1.it/11212/cancellazione-di-lista-in-loop?course=info-sul-corso-e-sugli-esami/fondamenti-di-programmazione-18-19

ciao avevo fatto la tua stessa domanda e ho ricevuto molte idee,dacci un occhiata anche li..
a
acul90ml (260 points)
0 4 5
commented Jan 3, 2019 by acul90ml (260 points)
Ok ti ringrazio do un occhiata