[ERREUR]- list index out of range

Résolu/Fermé
djhimler Messages postés 3 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 15 janvier 2018 - Modifié le 15 janv. 2018 à 20:02
 Utilisateur anonyme - 27 nov. 2018 à 13:06
salut, je dois programmer un truc pour demain et je suis bloqué sur cette erreur , je ne comprend pas, j'aimerai bien que l'on m'explique pourquoil'erreur se trouve au niveau du if a[i] ==1 :
voici mon programme,



a=[]

def suite3(u,n) :
    a.append(u)
    for i in range(n-1) :
            if u % 2 == 0 :
                u = u // 2
                a.append(u)
            else :
                u = 3*u+1
                a.append(u)
       
    return n
    



def trajectoire_u_0():
    u_0=[]
    i = 0
    while i< len(a):
        u_0.append(a[i])
        i += 1
        if a[i]==1:
            break
        
    print(u_0)


suite3(15,8)    
trajectoire_u_0()


merci d'avance:)
A voir également:

2 réponses

Utilisateur anonyme
15 janv. 2018 à 18:50
Bonjour,

je ne connais pas python plus que ça.
Cependant, le message d'erreur est clair, tu demandes le contenu d'une "case" de ton tableau qui n'existe pas.
Dans beaucoup de langage, pour un tableau de n cases, les index vont de 0 à n-1

while i< len(a): 'ici tu testes que i est strictement inférieur à len(a) (ce que j'ai appelé n au-dessus), imaginons i = n - 1
   u_0.append(a[i])'ici ok a[n-1] existe
    i += 1' i prend la valeur n
    if a[i]==1: 'aïe
        break 

5
djhimler Messages postés 3 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 15 janvier 2018
Modifié le 15 janv. 2018 à 18:59
merci pour ta réponse cependant comment je peux faire pour réarranger mon programme pour que i ne prenne que n-1 parceque si j'ai bien compris c'est parceque i = n que lindex n'existe pas nan ? ?
0
Tais toi tu connais pas python comme tu l'as si bien dit Whismeril
-1
Utilisateur anonyme > MTSTFCFUD
27 nov. 2018 à 13:06
N’empêche qu’à l’epoque J’ai répondu à sa question.
T’étais où toi?
1