PYTHON. 2 INFO FEUILLE n° 25 D'EX BTS1

                        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  

                           tkinter9.png

 ----------------------------------------------------------------------------------------

          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:

 

                         tkinter10.png     tkinter11.png

                     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 :

                  tkinter15.png

---------------------------------------------------------------------------------------------------

     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.

                                  tkinter18.png

---------------------------------------------------------------------------------------------------

   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

                           tkinter17.png

                       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:

                                       tkinter20.png

                                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: 

                          tkinter21-2.png

--------------------------------------------------------------------------------------------------------

       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

>>>