Si le code n'est pas cohérent, il ne marchera pas.
Essayez d'expliquer la logique de ce code:
En gros, vous avez une liste validation à 9 positions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 for j in range(0,9): validation=[True,True,True,True,True,True,True,True,True] for i in range(0,9): #on vérifie qu'il n'y ait pas deux fois le même nombre dans chaque ligne en fixant j if validation[(cases[i,j]-1)==True]: #en gros, on prend la valeur i associé à la clé, on lui soustrait 1 (car les indices sont de 0 à 8) et on regarde si il y a déjà ce nombre validation[(cases[i,j]-1)==False] print (validation) else: print('Il y a deux fois le même nombre dans la ligne '+str(i)) #perdu ! break pour sortir directement de la boucle gagne=False break
On peut imaginer que la position i représente la présence de l'entier i dans la ligne/colonne. Si c'est le cas, marquer validation[cases[i,j]] à False suffit à en rendre compte. Mais comme en sortie vous ne testez pas que toutes les positions sont False, impossible de savoir ce que vous avez voulu faire.
En plus, que signifie "validation[(cases[i,j]-1)==False]"?
- W
Partager