Comment corriger cette erreur

Résolu
Bonjour,

J'ai une erreur de type :
while grille[int(colonne)+int(ligne)] != " ":
IndexError: list index out of range


Comment faire ?

Merci.

2 réponses

  1. Modérateur
    Bonjour,

    Comment as tu défini la variable grille ?
    Une liste à deux dimensions ?
    Si oui.. pourquoi n'utilises tu pas plutôt deux boucles for imbriquées pour parcourir ta liste ?
    1. Modérateur
      Bonjour,

      Sans le code complet, difficile de te dire comment corriger ton programme, mais dans l'esprit, cette erreur signifie que l'index calculé par
      int(colonne) + int(ligne)
      est plus grand que
      len(grille)
      .

      Ensuite, vu que colonne et ligne sont des entiers, ça n'a pas vraiment de sens de les additionner pour accéder à une case de ta grille :
      • Si tu utilises une liste contenant
        m
        listes de taille
        n
        , ça devrait plutôt être
        grille[int(colonne)][int(ligne)]
        ;
      • Si tu utilises juste une liste simple de longueur égale à
        m * n
        , il faudrait écrire quelque chose du genre
        grille[int(ligne) * num_colonnes + int(colonne)]
        .


      Bonne chance