Dessiner des citrouilles
Clement_7057
Messages postés
5
Statut
Membre
-
Clement_7057 -
Clement_7057 -
slt j'ai ce code qui est censé dessiner des citrouilles or pour les citouille de taille 1 et 2 ça ne fonctionne pas. Je suis dessus depuis 4h et aucun moyen de débloquer la situation.
Voici le code:
De plus le bouton ne fonctionne pas.
merci de votre aide
Voici le code:
from tkinter import *
from random import *
tailles=[0,50,100,200]
def dessine_citrouille(x,y,taille):
can.delete(ALL)
global tailles
if taille==1:
taille=tailles[1]
elif taille==2:
taille=tailles[2]
else:
taille=tailles[3]
#bouche
can.create_polygon(x-taille/2, y+taille/2, x-1/4*taille, y+taille/2, x-3/8*taille, y+3/4*taille, outline="black", fill="yellow")
can.create_polygon(x-taille/4, y+taille/2, x, y+taille/2, x-1/8*taille, y+3/4*taille, outline="black", fill="yellow")
can.create_polygon(x, y+taille/2, x+taille/4, y+taille/2, x+1/8*taille, y+3/4*taille, outline="black", fill="yellow")
can.create_polygon(x+taille/4, y+taille/2, x+taille/2, y+taille/2, x+3/8*taille, y+3/4*taille, outline="black", fill="yellow")
#oeil droit
can.create_polygon(x-taille/2, y-taille/8, x-3/4*taille, y-taille/4, x-1/4*taille, y-taille/4,outline="black", fill="black")
#oeil gauche
can.create_polygon(x+taille/2, y-taille/8, x+3/4*taille, y-taille/4, x+1/4*taille, y-taille/4,outline="black", fill="black")
#crête de la citrouille
can.create_polygon(x, y-taille, x+1/8*taille, y-9/8*taille, x-1/8*taille, y-9/8*taille,outline="black", fill="green")
#narine gauche
can.create_oval(x-1/8*taille, y+1/7*taille, x-1/7*taille, y+1/8*taille,outline='black',fill='orange')
#narine droite
can.create_oval(x+1/8*taille, y+1/7*taille, x+1/7*taille, y+1/8*taille,outline='black',fill='orange')
fen=Tk()
w,h=fen.winfo_screenwidth(),fen.winfo_screenheight()
can=Canvas(fen,height=h,width=w,bg='white')
can.pack()
b=Button(can,text='citrouille', command=dessine_citrouille(randint(10,w),randint(10,h),randint(1,3)), bg='orangered')
b.place(x=1,y=640)
b2=Button(can,text='quitter',command=fen.destroy,bg='black',fg='white')
b2.place(x=1,y=560)
fen.mainloop()
De plus le bouton ne fonctionne pas.
merci de votre aide
A voir également:
- Dessiner des citrouilles
- Dessiner un tableau - Guide
- Comment dessiner un organigramme sur word - Guide
- Dessiner signature word - Guide
- Dessiner sur whatsapp - Guide
- Dessiner un plan gratuit - Télécharger - Architecture & Déco
3 réponses
Bonjour,
Merci d'utiliser la balise < code python> autour du copié-collé de votre code source, sinon celui-ci est illisible.
Par ailleurs, « ça ne fonctionne pas » est très vague. Y a-t-il un message d'erreur ? Un résultat non conforme ? Aucun résultat du tout ?
Xavier
Merci d'utiliser la balise < code python> autour du copié-collé de votre code source, sinon celui-ci est illisible.
Par ailleurs, « ça ne fonctionne pas » est très vague. Y a-t-il un message d'erreur ? Un résultat non conforme ? Aucun résultat du tout ?
Xavier
Bonsoir,
De plus le bouton ne fonctionne pas
Ton problème se situe justement là, est c'est une erreur récurrente des débutants.
La commande du bouton sera exécutée au chargement du script.
Tu peux modifier la fonction dessine_citrouille et placer les randint dedans, ce qui ne change rien au déroulement du script.
Et donc pour le button.
De plus le bouton ne fonctionne pas
Ton problème se situe justement là, est c'est une erreur récurrente des débutants.
b=Button(can,text='citrouille', command=dessine_citrouille(randint(10,w),randint(10,h),randint(1,3)), bg='orangered')
La commande du bouton sera exécutée au chargement du script.
Tu peux modifier la fonction dessine_citrouille et placer les randint dedans, ce qui ne change rien au déroulement du script.
def dessine_citrouille():
x = randint(10, w)
y = randint(10,h)
taille = choice((50,100,200))
# reste du code de la fonction
Et donc pour le button.
b=Button(can,text='citrouille', command=dessine_citrouille, bg='orangered')