[Python] Erro: list index out of range

Olá a todos, estou tendo esse erro: “List index out of range”. Tenho um menu e quando seleciono a opcao que vai ler esse código dá erro…

Código:
def arraysort(array):
for n in range(len(array)):
if array[n]>array[n+1]:
guardar = array[n+1]
array[n+1] = array[n]
array[n] = array[n+1]
array[n] = guardar

Código do menu para aceder ao arraysort(array):
elif menuoption==8:
print("\n\n===== ARRAY EM ORDEM CRESCENTE =====")
arraysort(array)

A mensagem diz que você está acessando um elemento da lista que nao existe.
Em que linha dá o erro?
Já tentou ver os valores do índice na linha que dá erro?

Desde já, obrigado pela sua resposta. Isto é o que acontece após eu fazer o array e selecionar a opção para ordenar o array.

out of range significa fora de alcançe, mas não sei o que quer dizer na línguagem de programação…

( o ultimo erro que é dado na consola é o que interessa )

image

Cuidado com isso:

array[n+1]

Vc precisa ter em mente que uma hora o array vai chegar no final e vai somar o final + 1 ou seja, uma posição que não existe no array, nessas horas vc testa junto se a proxima posição chegou no final…

total = len(array)
for n in range(total):
    aindaTemProximo = (n + 1 < total)
    print(aindaTemProximo) //True ou False
    if aindaTemProximo and array[n]>array[n+1]:
        ...

Algo nesse sentido, vai testando ainda deixei o print pra vc acompanhar o teste, uma hora ele vai ser False, isso quer dizer que chegou no final pegou? sucesso!

Obrigado, faz sentido! Irei testar amanha.