Exercice 8.21 apprendre à programmer en python Gérard swinnen
Roman Follet
-
PAncho -
PAncho -
Bonjour,
Je bloque sur un exercice du livre de Gérard swinnen. Rapidement,l'exercice dit ceci/ J'ai 4 cercles colorés qui représentent des feux de circulation: 2 sont initialement vert et deux rouges.lors ce qu'on actionne un bouton, les deux verts passent au rouge et les deux rouges passent au vert.Voilà ou j'en suis:
Je ne sais pas comment coder la fonction pour que quand on exécute le bouton, les deux feux verts passent au rouge et vice versa.Si vous pouvez me mettre sur le bon chemin (syntaxe, méthode...), je suis preneur,)...
Merci.
Je bloque sur un exercice du livre de Gérard swinnen. Rapidement,l'exercice dit ceci/ J'ai 4 cercles colorés qui représentent des feux de circulation: 2 sont initialement vert et deux rouges.lors ce qu'on actionne un bouton, les deux verts passent au rouge et les deux rouges passent au vert.Voilà ou j'en suis:
from tkinter import *
def change_c():
# initialisation des couleurs pour les 4 feux
couleur=['green','red']
# Création de la route et du passage piéton
fen = Tk()
can=Canvas(fen,bg='white',height=310,width=300)
can.pack(side=TOP)
can.create_rectangle(100,5,200,305,fill='grey')
can.create_rectangle(100,105,110,205,fill='yellow')
can.create_rectangle(120,105,130,205,fill='yellow')
can.create_rectangle(140,105,150,205,fill='yellow')
can.create_rectangle(160,105,170,205,fill='yellow')
can.create_rectangle(180,105,190,205,fill='yellow')
# Création des 4 feux de circulation
can.create_oval(70,80,90,100,fill=couleur[0])
can.create_oval(210,210,230,230,fill=couleur[0])
can.create_oval(215,85,225,95,fill=couleur[1])
can.create_oval(75,215,85,225,fill=couleur[1])
# création du bouton
Button(fen,text='Changer',command=change_c).pack(side=BOTTOM)
fen.mainloop()
Je ne sais pas comment coder la fonction pour que quand on exécute le bouton, les deux feux verts passent au rouge et vice versa.Si vous pouvez me mettre sur le bon chemin (syntaxe, méthode...), je suis preneur,)...
Merci.
A voir également:
- Exercice 8.21 apprendre à programmer en python Gérard swinnen
- Application pour apprendre à coder - Guide
- Citizen code python avis - Accueil - Outils
- Programmer sms - Guide
- Programmer mail gmail - Guide
- Apprendre à lire le coran en français pdf - Télécharger - Histoire & Religion
1 réponse
J'en suis maintenant là:
Mais le changement de couleur ne s'effectue pas....
from tkinter import *
def change_c():
global couleur
if couleur[0]=='green':
couleur[0]='red'
couleur[1]='green'
if couleur[0]=='red':
couleur[0]='green'
couleur[1]='red'
can.itemconfigure(oval1,fill=couleur[0])
can.itemconfigure(oval2,fill=couleur[0])
can.itemconfigure(oval3,fill=couleur[1])
can.itemconfigure(oval4,fill=couleur[1])
couleur=['green','red']
fen = Tk()
can=Canvas(fen,bg='white',height=310,width=300)
can.pack(side=TOP)
can.create_rectangle(100,5,200,305,fill='grey')
can.create_rectangle(100,105,110,205,fill='yellow')
can.create_rectangle(120,105,130,205,fill='yellow')
can.create_rectangle(140,105,150,205,fill='yellow')
can.create_rectangle(160,105,170,205,fill='yellow')
can.create_rectangle(180,105,190,205,fill='yellow')
oval1 = can.create_oval(70,80,90,100,fill=couleur[0])
oval2 = can.create_oval(210,210,230,230,fill=couleur[0])
oval3 = can.create_oval(215,85,225,95,fill=couleur[1])
oval4 = can.create_oval(75,215,85,225,fill=couleur[1])
Button(fen,text='Changer',command=change_c).pack(side=BOTTOM)
fen.mainloop()
Mais le changement de couleur ne s'effectue pas....
Si quelqu'un aurait une modification plus simple à apporter, je suis toujours preneur!!
Je cherchais la solution d'un exercice suivant.
pour les feux, voici mon code
QUOTE
from tkinter import*
def popo():
k=0
while 150+25*k<330:
can.create_rectangle(150+25*k,100,170+25*k,200,fill='white')
k=k+1
def pupu():
global co1,co2
i=0
while i<4:
if i%2==0:
can.create_oval(coordo[i][0]-10,coordo[i][1]-10,coordo[i][0]+10,coordo[i][1]+10,fill=co1)
else:
can.create_oval(coordo[i][0]-10,coordo[i][1]-10,coordo[i][0]+10,coordo[i][1]+10,fill=co2)
i=i+1
def changer():
global co1,co2
x=co1
co1 =x
co1=co2
co2=x
pupu()
coordo=[[140,90],[360,90],[360,210],[140,210]]
co1='red'
co2='green'
fen=Tk()
fen.title('passage piétons')
can=Canvas(fen,bg='white', width=500,height=300)
can.create_rectangle(150,0,350,300,fill='grey')
popo()
pupu()
can.pack()
b1=Button(fen,text='changer',command=changer)
b1.pack(side=BOTTOM)
fen.mainloop()
UNQUOTE
on doit pouvoir faire mieux sur les couleurs dans le sous programme pupu()
Bon courage.