PYTHON 2 INFO FEUILLE n° 25 D'EXERCICES
Thème:
Utilisation de canvas pour obtenir sur une surface
des figures géométriques , des tableaux .
---------------------------------------------------------------------------------
EXERCICE 1
Donner un script qui donne une fenêtre avec un fond gris.
------------------------------------------------------------------------------------------------
REPONSE:
On peut considérer:
import Tkinter
def ese():
cadre=Tkinter.Tk()
fond=Tkinter.Canvas(cadre, width=300, height=200, background='darkgray')
fond.pack()
cadre.mainloop()
On obtient alors
----------------------------------------------------------------------------------------
EXERCICE 2:
Donner un script qui donne une ligne brisée dans une fenêtre sur fond vert
---------------------------------------------------------------------------------------------------
REPONSE :
On peut considérer:
import Tkinter
def ligbris():
cadre=Tkinter.Tk()
fond=Tkinter.Canvas(cadre, width=300, height=200, background='green')
fond.pack()
ligne=fond.create_line(30,20, 250,110,270,170,180,200,30,20)
cadre.mainloop()
On obtient:
L'axe des abscisses est vers la droite.
L'axe des ordonnées est vers le bas
---------------------------------------------------------------------------
EXERCICE 3
Donner un script pour avoir une ligne brisée fermée
en utilisant .create_polygon( puis les paires des coordonnées sans parenthèses
------------------------------------------------------------------------------
REPONSE:
On peut considérer:
import Tkinter
def lignebriferm():
cadre=Tkinter.Tk()
fond=Tkinter.Canvas(cadre, width=300, height=200, background='red')
fond.pack()
polygone=fond.create_polygon(35,105, 120,85, 95,25, 80,75, 15,60, 250,170, fill="green", width=2, outline='black')
cadre.mainloop()
On obtient :
---------------------------------------------------------------------------------------------------
EXERCICE 4
Donner un script pour un ovale.
--------------------------------------------------------------------------------------------------
REPONSE:
On peut considérer:
from Tkinter import *
def ov():
cadre = Tk()
canv=Canvas(cadre,width=400,height=380)
canv.pack()
canv.create_rectangle((2,2,250,300),fill="white",outline="blue")
canv.create_oval((30,10,200,60),fill="yellow",outline="cyan")
cadre.mainloop()
On obtient un ovale jaune horizontal bordé de vert.
---------------------------------------------------------------------------------------------------
EXERCICE 5:
Que fait le script suivant?
import Tkinter
def exxe():
racine=Tkinter.Tk()
fond=Tkinter.Canvas(racine, width=400, height=380, background='white')
fond.pack()
m=["Marc",'15','14']
txt=fond.create_text(120,30, text=m, font="Arial 16 italic", fill="black")
racine.mainloop()
-----------------------------------------------------------------------------------------
REPONSE:
On obtient la fenêtre
On peut donc placer les éléments d'une liste où l'on veut
-----------------------------------------------------------------------
EXERCICE 6
Donner un script qui, dans une fenêtre avec deux lignes horizontales
inscrit Marc et Florian .
------------------------------------------------------------------------------------------------------------
REPONSE
On peut considérer:
from Tkinter import *
def tableau():
cadre = Tk()
canv=Canvas(cadre,width=400,height=400)
canv.pack()
canv.create_rectangle((4,4,395,380),fill="white",outline="red")
canv.create_line((4,30,395,30),fill="red",width=0)
canv.create_line((4,60,395,60),fill="red",width=0)
canv.create_text(45,15, text="Marc", font="Arial 16 italic", fill="black")
canv.create_text(45,45, text="Florian", font="Arial 16 italic", fill="black")
cadre.mainloop()
On obtient:
Vous pouvez rajouter des colonnes , des lignes, des noms , des valeurs
qui seront là où vous décidez de les placer.
--------------------------------------------------------------------------------------------------
EXERCICE 7
Donner un script qui donne un tableau de notes pour steven et Florian
avec donc deux lignes et trois colonnes.
------------------------------------------------------------------------------------------------------------------
REPONSE:
On peut imaginer:
from Tkinter import *
def tableau():
cadre = Tk()
canv=Canvas(cadre,width=400,height=400)
canv.pack()
canv.create_rectangle((4,4,395,380),fill="white",outline="red")
canv.create_line((4,30,395,30),fill="red",width=0)
canv.create_line((4,60,395,60),fill="red",width=0)
canv.create_line((85,4,85,380),fill="red",width=0)
canv.create_line((120,4,120,380),fill="red",width=0)
canv.create_line((155,4,155,380),fill="red",width=0)
s=["Steven",'10','12']
f=["Florian",'15',"",'16']
canv.create_text(80,15, text=s, font="Arial 16 italic", fill="black")
canv.create_text(80,45, text=f, font="Arial 16 italic", fill="black")
cadre.mainloop()
On obtient:
--------------------------------------------------------------------------------------------------------
EXERCICE :
Dans une fenêtre dont on indique les dimensions et la couleur de l'arrière plan
obtenir un triangle dont on donne les coordonnées.
------------------------------------------------------------------------------
REPONSE:
import Tkinter
def figure():
fenetre=Tkinter.Tk()
# Tk() est pour avoir une fenetre.Tkinter mis avant invoque appelle Tkinter
# width est la largeur. height est la hauteur. background est couleur de l'arriere-plan
fond= Tkinter.Canvas(fenetre,width=largeur,height=hauteur,background='red')
fond.pack()
# Chaque commande est double:On nomme fond et fond.pack() l'execute
label=Tkinter.Label(fenetre,text="BONJOUR")
label.pack()
#On nomme label et label.pack() l'execute
#Cela place en bas de fenetre l'étiquette BONJOUR
ligne=fond.create_line(a1,a2,b1,b2,c1,c2,a1,a2, fill="green", width=2)
# Pour cree untriangle ABC
fenetre.mainloop()
def conditions():
print " Affichage d'une fenetre avec un triangle. "
largeur=input("Donner la largeur de la fenetre: ")
hauteur=input("Donner la hauteur de la fenetre: ")
etiquette=raw_input("Donner le texte en bas de la fenetre: ")
a1=input("Donner la premiere coord. du premier point A: ")
a2 =input(" Donner la seconde coord. de A: ")
b1=input("Donner la premiere coord. du second point B: ")
b2 =input(" Donner la seconde coord. de B: ")
c1=input("Donner la premiere coord. du troisieme point C: ")
c2 =input(" Donner la seconde coord. de C: ")
print figure()
Par exemple:
>>>
Donner la largeur de la fenetre: 200
Donner la hauteur de la fenetre: 300
Donner le texte en bas de la fenetre: "BONJOUR"
Donner la premiere coord. du premier point A: 20
Donner la seconde coord. de A: 30
Donner la premiere coord. du second point B: 110
Donner la seconde coord. de B: 120
Donner la premiere coord. du troisieme point C: 50
Donner la seconde coord. de C: 140
>>>