Seb-Info

Programme à compléter

Programme à compléter

Exercice 1 :

Le programme doit dessiner des cercles dans la fenêtre et la position est aléatoire.

L’application dispose pour cela de bouton.

Vous devez compléter les 2 lignes avec des ##### afin que l’application fonctionne.

[pastacode lang= »python » manual= »%23%20ICN%0A%23%20Exercice%20avec%20TkInter%0A%23%20Dessiner%20des%20cercles%20de%20mani%C3%A8re%20al%C3%A9atoire%0Afrom%20tkinter%20import%20*%0Aimport%20random%0A%0Adef%20Cercle()%3A%0A%20%20%20%20%22%22%22%20Dessine%20un%20cercle%20de%20centre%20(x%2Cy)%20et%20de%20rayon%20r%20%22%22%22%0A%20%20%20%20x%20%3D%20%23%23%23%23%23%23%23%23%23%23%23%0A%20%20%20%20y%20%3D%20%23%23%23%23%23%23%23%23%23%23%23%0A%20%20%20%20r%20%3D%2020%0A%20%20%20%20Canevas.create_oval(x-r%2C%20y-r%2C%20x%2Br%2C%20y%2Br%2C%20outline%3D’blue’%2C%20fill%3D’blue’)%0A%0Adef%20Effacer()%3A%0A%20%20%20%20%22%22%22%20Efface%20la%20zone%20graphique%20%22%22%22%0A%20%20%20%20Canevas.delete(ALL)%0A%0A%23%20Cr%C3%A9ation%20de%20la%20fen%C3%AAtre%20principale%20(main%20window)%0AMafenetre%20%3D%20Tk()%0AMafenetre.title(‘Cercle’)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Canvas%20(zone%20graphique)%0ALargeur%20%3D%20480%0AHauteur%20%3D%20320%0ACanevas%20%3D%20Canvas(Mafenetre%2C%20width%20%3D%20Largeur%2C%20height%20%3D%20Hauteur%2C%20bg%20%3D’white’)%0ACanevas.pack(padx%20%3D5%2C%20pady%20%3D5)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Go)%0ABoutonGo%20%3D%20Button(Mafenetre%2C%20text%20%3D’Go’%2C%20command%20%3D%20Cercle)%0ABoutonGo.pack(side%20%3D%20LEFT%2C%20padx%20%3D%2010%2C%20pady%20%3D%2010)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Effacer)%0ABoutonEffacer%20%3D%20Button(Mafenetre%2C%20text%20%3D’Effacer’%2C%20command%20%3D%20Effacer)%0ABoutonEffacer.pack(side%20%3D%20LEFT%2C%20padx%20%3D%205%2C%20pady%20%3D%205)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Quitter)%0ABoutonQuitter%20%3D%20Button(Mafenetre%2C%20text%20%3D’Quitter’%2C%20command%20%3D%20Mafenetre.destroy)%0ABoutonQuitter.pack(side%20%3D%20LEFT%2C%20padx%20%3D%205%2C%20pady%20%3D%205)%0A%0AMafenetre.mainloop() » message= »A compléter » highlight= » » provider= »manual »/]

Correction:

x = random.randint(0,Largeur)
y = random.randint(0,Hauteur)

Exercice 2 :

Modifier le programme pour que la taille du cercle varie entre 10 et 30 de manière aléatoire.

Correction:

r = random.randint(20,30)

Exercice 3 :

Modifier le programme pour que la couleur soit rouge ou bleu ou orange de manière aléatoire.

Correction:

«  » » Dessine un cercle de centre (x,y) et de rayon r «  » »
couleurs = [‘red’, ‘blue’, ‘orange’]
x = random.randint(0,Largeur)
y = random.randint(0,Hauteur)
r = random.randint(20,30)
c = random.randint(0,len(couleurs)-1)
Canevas.create_oval(x-r, y-r, x+r, y+r, outline=couleurs[c], fill=couleurs[c])

Exercice 4 :

Soit le code suivant :

[pastacode lang= »python » manual= »%23ICN%0Afrom%20tkinter%20import%20*%0Aimport%20random%0A%0Adef%20Cercle()%3A%0A%20%20%20%20%22%22%22%20Dessine%20un%20cercle%20de%20centre%20(x%2Cy)%20et%20de%20rayon%20r%20%22%22%22%0A%20%20%20%20x%20%3D%20random.randint(0%2CLargeur)%0A%20%20%20%20y%20%3D%20random.randint(0%2CHauteur)%0A%20%20%20%20r%20%3D%2010%0A%20%20%20%20%0A%20%20%20%20%23%20on%20dessine%20un%20cercle%20dans%20la%20zone%20graphique%0A%20%20%20%20item%20%3D%20Canevas.create_oval(x-r%2C%20y-r%2C%20x%2Br%2C%20y%2Br%2C%20outline%3D’black’%2C%20fill%3D’black’)%0A%20%20%20%20%0A%20%20%20%20print(%22Cr%C3%A9ation%20du%20cercle%20(item%22%20%2C%20item%20%2C%22)%22)%0A%20%20%20%20%23%20affichage%20de%20tous%20les%20items%20de%20Canevas%0A%20%20%20%20print(Canevas.find_all())%0A%0Adef%20Undo()%3A%0A%20%20%20%20%22%22%22%20Efface%20le%20dernier%20cercle%22%22%22%0A%20%20%20%20if%20len(Canevas.find_all())%20%3E%201%3A%0A%20%20%20%20%20%20%20%20item%20%3D%20Canevas.find_all()%5B-1%5D%0A%20%20%20%20%20%20%20%20%23%20on%20efface%20le%20cercle%0A%20%20%20%20%20%20%20%20Canevas.delete(item)%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20print(%22Suppression%20du%20cercle%20(item%22%20%2C%20item%20%2C%22)%22)%0A%20%20%20%20%20%20%20%20%23%20affichage%20de%20tous%20les%20items%20de%20Canevas%0A%20%20%20%20%20%20%20%20print(Canevas.find_all())%0A%0Adef%20EffacerTout()%3A%0A%20%20%20%20%22%22%22%20Efface%20tous%20les%20cercles%22%22%22%0A%20%20%20%20while%20len(Canevas.find_all())%20%3E%201%3A%0A%20%20%20%20%20%20%20%20Undo()%0A%0A%0A%23%20Cr%C3%A9ation%20de%20la%20fen%C3%AAtre%20principale%20(main%20window)%0AMafenetre%20%3D%20Tk()%0AMafenetre.title(‘Cible’)%0A%0A%23%20Image%20de%20fond%0Aphoto%20%3D%20PhotoImage(file%3D%22tk_cible.gif%22)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Canvas%20(zone%20graphique)%0ALargeur%20%3D%20550%0AHauteur%20%3D%20550%0ACanevas%20%3D%20Canvas(Mafenetre%2Cwidth%20%3D%20Largeur%2C%20height%20%3DHauteur)%0Aitem%20%3D%20Canevas.create_image(0%2C0%2Canchor%3DNW%2C%20image%3Dphoto)%0Aprint(%22Image%20de%20fond%20(item%22%2Citem%2C%22)%22)%0ACanevas.pack()%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%0ABoutonGo%20%3D%20Button(Mafenetre%2C%20text%20%3D’Tirer’%2C%20command%20%3D%20Cercle)%0ABoutonGo.pack(side%20%3D%20LEFT%2C%20padx%20%3D%2010%2C%20pady%20%3D%2010)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%0ABoutonEffacer%20%3D%20Button(Mafenetre%2C%20text%20%3D’Effacer%20le%20dernier%20tir’%2C%20command%20%3D%20Undo)%0ABoutonEffacer.pack(side%20%3D%20LEFT%2C%20padx%20%3D%2010%2C%20pady%20%3D%2010)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%0ABoutonEffacerTout%20%3D%20Button(Mafenetre%2C%20text%20%3D’Effacer%20tout’%2C%20command%20%3D%20EffacerTout)%0ABoutonEffacerTout.pack(side%20%3D%20LEFT%2C%20padx%20%3D%2010%2C%20pady%20%3D%2010)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Quitter)%0ABoutonQuitter%20%3D%20Button(Mafenetre%2C%20text%20%3D’Quitter’%2C%20command%20%3D%20Mafenetre.destroy)%0ABoutonQuitter.pack(side%20%3D%20LEFT%2C%20padx%20%3D%2010%2C%20pady%20%3D%2010)%0A%0AMafenetre.mainloop()%0A » message= » » highlight= » » provider= »manual »/]

Testez le ! Attention il vous faudra placer l’image ci dessous au même niveau que votre code python.

L’image :

TAF : Modifier le programme pour qu’il indique un message quand le tire est près du 6 (dans la zone rouge )

Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.

Connexion pour les utilisateurs enregistrés
   
Nouvel utilisateur ?
*Champ requis
Powered by WP-Members