|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2007
Messaggi: 108
|
[Python] IndexError
Con le poche nozioni che ho, sto scrivendo un programma che calcola il giorno della settimana di una determinata data. L'ho quasi finito, ma c'è questo ciclo che si comporta in maniera stranissima(almeno credo). Ho inserito dei print per vedere un po' come stavano le cose. Ora sto anche pensando che ho sbattuto la testa per una giornata per niente(forse questo ciclo è inutile...), però ormai vorrei sapere perchè si comporta così.
mm è il mese scelto -1 Codice:
i = 0
while i <= mm:
del giorni[i]
print giorni
print i
print mm
i += 1
Codice:
Inserisci la data in formato gg/mm/aaaa.12/12/2016
[28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
0
11
[28, 30, 31, 30, 31, 31, 30, 31, 30, 31]
1
11
[28, 30, 30, 31, 31, 30, 31, 30, 31]
2
11
[28, 30, 30, 31, 30, 31, 30, 31]
3
11
[28, 30, 30, 31, 31, 30, 31]
4
11
[28, 30, 30, 31, 31, 31]
5
11
Traceback (most recent call last):
File "C:\Python26\contagiorno.py", line 133, in <module>
calcola(bisestile, somma, giorni)
File "C:\Python26\contagiorno.py", line 104, in calcola
del giorni[i]
IndexError: list assignment index out of range
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
succede perché quando cancelli un elemento gli indici "scalano" e quindi nell'ultimo caso il vettore ha solamente 6 elementi dei quali l'ultimo ha indice 5 mentre i = 6 e quindi giustamente ti sputa un IndexError
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2007
Messaggi: 108
|
grazie mille, non ci avevo pensato
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:11.



















