count = 0
for row in file:
count+=1
segment = row[:-1].split(", ")
num += 1
if segment[14] == ">50K":
count1 += 1
print ("no of line are", count1)
elif segment[14] == "<=50K":
count2 += 1
print ("no of line are", count2)
quindi questo codice funziona ma se commento entrambe le dichiarazioni di stampa il mio codice mi dà questo errore
IndexError: list index out of range
qualcuno può spiegare al mio perché e come aggiustarlo perché sono davvero confuso.
risposte:
3 per risposta № 1Rifletti su questo koan:
segment = "".split() # returns []
s = segment[14]
... qual è il suono dell'accesso a un elemento della lista che non c'è?
1 per risposta № 2
Probabilmente l'errore si verifica dove provi ad accedere segment[14]
.
Su una linea che ha meno di 15 segmenti, semplicemente non puoi accedere [14]
.
Potresti voler controllare len(segments)
prima, o potresti voler cogliere questa eccezione e gestirla appropriatamente.
1 per risposta № 3
Un altro problema con il codice: non stai definendo count1 e count2, proprio come hai impostato il conteggio a 0 nella prima riga.