Damier sur python - Python - Programmation
Marsh Posté le 05-11-2014 à 22:18:44
Le probleme vient de ta fonction damier:
1/ tes X2 et y2 restent toujours fixe alors que X1 et Y1 bougent. De manière général X2 et Y2 servent a rien car ca sera toujours X1+20 et Y1+20 (du coup on peut simplifier avec x et y)
2/ quand tu changes de ligne, tu commences toujours avec un carré noir, alors qu'il faut alterner
3/ C'est pas une erreur (c'est possible de le faire comme ca) mais il y a quand même un soucis algorithmique a utiliser des for sur une variable qui te sert a rien (i et j). 2 solutions soit tu les remplaces par un while sur x et y, soit tu fais un for mais en profite pour incrémenté tes x et y avec.
ps: au passage j'ai viré tes variables globales, elles servent a rien et les variables globales c'est quand même le mal en programmation.
Solution avec des while:
Code :
|
solution avec les for (je préfère celle la, plus pythonique)
Code :
|
Marsh Posté le 05-11-2014 à 20:59:52
Bonjour je veux réaliser un damier sur python avec deux boucles for mais je n'y arrive pas , quelqu'un pourrait-il m'aider ? Merci
cpp]from tkinter import *
fen1=Tk()
x1,y1,x2,y2,coul=0,0,20,20,"black"
def damier():
global x1,y1,x2,y2,coul
for i in range (10):
x1=0
for j in range (9):
can.create_rectangle(x1,y1,x2,y2,fill=coul)
x1+=20
y1+=20
can=Canvas(fen1,height=180,width=200,bg="white" )
can.pack()
bou1=Button(fen1,text="Dessiner damier",command=damier)
bou1.pack()
bou2=Button(fen1,text="Quitter",command=fen1.quit)
bou2.pack()
fen1.mainloop()
fen1.destroy()[/cpp]