Ich entschuldige mich vorzeitig für die grundlegende Natur dieser Frage, aber ich könnte wirklich eine andere Reihe von Augen verwenden, um zu sehen, warum ich immer noch eine IndexError: list index out of range
bekomme.Indexing Fehler Scan-Liste
Hier ist mein Code:
def longestRun(L):
counter=1
ii=0
counts=[1]
while ii<=max(range((len(L)))):
if L[ii] <= L[(ii+1)]:
counter+=1
ii+=1
else:
ii+=1
counts.append(counter)
counter=1
continue
counts.sort()
return counts[-1]
Es soll die längsten Streifen von aufeinanderfolgenden Erhöhungen für eine Liste von ganzen Zahlen zählen. Ich habe es funktioniert, indem ich 1 von der while-Anweisung subtrahiert habe, aber dann wird es nicht immer die richtige Antwort zeigen, weil es nicht die ganze Liste durchgehen wird.
Hier ist meine spezifische Fehlermeldung:
IndexError
Traceback (most recent call last)
<ipython-input-76-1b4664f2fb31> in <module>()
----> 1 longestRun(L)
C:\Users\james_000\Desktop\longestRun.py in longestRun(L)
4 counts=[1]
5 while ii<=max(range((len(L)))):
----> 6 if L[ii] <= L[(ii+1)]:
7 counter+=1
8 ii+=1
Ich habe versucht, das wie in meinem Beitrag angegeben zu ändern, indem ich 1 von dieser Aussage subtrahiere, aber es versagt dann, die gesamte Liste zu durchlaufen. Ich fange an zu denken, dass es wahrscheinlich einen fundamentalen Fehler im Code gibt, und ich sollte es wahrscheinlich noch einmal von Grund auf neu machen. – Jhanlon