Bonjour,
Je débute en Python (et accessoirement en programmation). Je suis les exercice d'un livre et je dois faire un damier sur lesquels des pions viendront aléatoirement se poser. L'exercice a été réussit avec succès, seul bémol, parfois le programme me replaçait un pion sur un pion déjà existant ou peut etre le plaçait hors du canvas. Je voulais donc perfectionner le programme pour qu'il s'assure que le pion n'a pas déjà été crée.
J'avoue que je ne savais pas comment m'y prendre mais j'ai créer une variable globale avec toutes les coordonnées possibles pour les pions, et j'ai demander a ma fonction pion() de vérifier que la coordonnée existe et si oui de la supprimer de la liste de versification après avoir tracé le pion.
Le programme fonctionne, chaque clique sur le bouton me crée bien un nouveau pion mais l'interpréteur me retourne un message d'erreur et je ne comprends pas pourquoi. surtout qu'a l'usage le programme fait maintenant exactement ce que je veux, donc non seulement l'element de coordonnée de ma liste existe mais en plus il le supprime bien puisque je n'ai plus de cliques qui n'affichent pas de pions
voici le mes
voici le message d'erreur:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\***\Anaconda3\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "C:/Programmation/Python/Cours/8.8 Damier.py", line 47, in pion
w=verif.index(v)
ValueError: [5, 8] is not in list
et voici le code de la fonction:
Si une $ame charitable pouvais éclairer ma lanterne ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 def pion(): "pose un pion aléatoirement sur le damier et ne peut créer deux fois le meme pion" global verif i=1 while i: c,l=randint(1,8),randint(1,8) v=[c,l] if v in verif: i=0 while verif: x,y=c*50-25,l*50-25 cercle(x,y,20) w=verif.index(v) del(verif[w])
Partager