Comment corriger cette erreur

Résolu
gwendal -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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 ?
    0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
    0