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

                    PYTHON 2  INFO    FEUILLE   n°24     D'EXERCICES      Janvier 2013

            Thème : Tkinter

                Utilisation du module Tkinter pour obtenir

                une fenêtre graphique à l'aide de canvas.

              Cela permet des tableaux quadrillés.

             •  cadre=Tk() 

                       Pour créer la fenêtre du nom de cadre pour le moment non 

                        caractérisée.

            • canv=Canvas(..nom de la fenêtre..,width=  ... ,height=  ..)

                 crée le rectangle extérieur, de la fenêtre cadre, appelé ici canv

            •   canv.create_rectangle((4,4,... largeur.....  ,.. hauteur...),fill=".... couleur ...",outline=" ...couleur...")

               crée le rectangle intérieur avec ses caractéristiques les épaisseurs des traits( ici 4 ),

                   ses dimensions, la couleur intérieure et des bords. 

                     fill=   est pour la couleur intérieure

                      outline=   est pour la couleur de la bordure.  

              •  canv.pack()

 

                 Pour positionner   canv dans la fenêtre .

 

             •    cadre.mainloop()

 

                  Exécute  le tracé de la fenêtre cadre

 

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

       EXERCICE 1

        Créer un script qui permet d'obtenir une fenêtre cadre,

       de largeur 400 et de hauteur 400 dans laquelle on inscrit

       un rectangle blanc bordé de rouge de 395 de largeur et 380 de hauteur.

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

    REPONSE:

        On peut considérer : 

from Tkinter import *
def tableau():
      cadre = Tk()

                                                         #   Pour les dimensions du rectangle extérieur
      canv=Canvas(cadre,width=400,height=400)
      canv.pack()  

                                                    # Pour la bordure et les dimension du rectangle intérieur
      canv.create_rectangle((4,4,395,380),fill="white",outline="red")
      cadre.mainloop()

                   On obtient à l'écran:

          tkinter2.png

               La hauteur du rectangle extérieur est limitée.

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

     EXERCICE 2 

          Créer une fenêtre avec des lignes

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

            REPONSE:

           On peut proposer:            

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((4,90,395,90),fill="red",width=0) 

      cadre.mainloop()

                                         On obtient de lignes horizontales bord à bord       

                                                     en rouge d'épaisseur

                                                     avec le même espacement de 30

                     tkinter3.png

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

    EXERCICE 3

               Avec une boucle créer des lignes horizontales

                 dans une figure comme la précédente.

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

    REPONSE:

                 On peut proposer :

from random import*

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")       

      for i in range(1,13):

            canv.create_line((4,30*i,395,30*i),fill="red",width=0

      cadre.mainloop()

                                                 On obtient :

          tkinter4.png             

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

            EXERCICE 4

           Obtenir un tableau  comme dans l'exercice précédent

           mais avec une colonne à gauche et une ligne en haut seulement.

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

    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((30,4,30,380),fill="red",width=0)
       cadre.mainloop()

                          On obtient:

                   tkinter5.png

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

            EXERCICE 5 

                   Faire un script qui rajoute  les lignes verticales espacées de 30

                  au tableau de l'exercice précédent.

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

     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)
       for i in range(1,13):
             canv.create_line((30*i,4,30*i,380),fill="red",width=0)
        cadre.mainloop()

                                             On obtient :

tkinter7-1.png

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

             EXERCICE 6

             Donner un script qui donne le tableau cadrillé avec

             des écartements de 30

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

   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)
       for i in range(1,13):
             canv.create_line((30*i,4,30*i,380),fill="red",width=0)
       for j in range(1,13):
             canv.create_line((4,30*j,395,30*j),fill="red",width=0)
       cadre.mainloop()

                                 On obtient:


                             tkinter8.png

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