PYTHON.2. INFO FEUILLE n ° 26 D'EX BTS

                PYTHON.2 FEUILLE n° 26    BTS1  Janvier 2013

           Thème:

                      Représenter des matrices dans une fenêtre

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

            EXERCICE 1

    Que donne le script suivant?

from Tkinter import *
def matr():
       cadre=Tk()
       canv=Canvas(cadre,width=400,height=400)
       canv.pack()
       canv.create_rectangle((4,4,395,450),fill="white",outline="red")
       canv.create_line((65,15,60,20,60,100,65,105),fill="black",width=2)
       canv.create_line((165,15,170,20,170,100,165,105),fill="black",width=2)
       A=[[1,2,3],[4,5,6],[7,8,9]]
       canv.create_text(40,60,text="A = ",font="Arial 16 italic", fill="black")
       for i in range(0,3):
             canv.create_text(115,30*(i+1),text=A[i],font="Arial 16 italic", fill="black")
       cadre.mainloop()

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

   REPONSE:

                     On fait apparaître dans une fenêtre 

                    la matrice A.

          On obtient:    

                               t44.png

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

              EXERCICE 2

           Modifier le script précédent pour demander la saisie de la matrice carrée d'ordre 3

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

     REPONSE:

                On peut proposer:

from Tkinter import *
def matr():
       A=[]
       a=input("Donner la première liste pour la ligne 1 ")
       b=input("Donner la deuxième liste pour la ligne 2 ")
       c=input("Donner la troisième liste pour la ligne 3 ")
       cadre=Tk()
       canv=Canvas(cadre,width=400,height=400)
       canv.pack()
       canv.create_rectangle((4,4,395,450),fill="white",outline="red")
       canv.create_line((65,15,60,20,60,100,65,105),fill="black",width=2)
       canv.create_line((165,15,170,20,170,100,165,105),fill="black",width=2)
       A=[a,b,c]
       canv.create_text(40,60,text="A = ",font="Arial 16 italic", fill="black")
       for i in range(0,3):
             canv.create_text(115,30*(i+1),text=A[i],font="Arial 16 italic", fill="black")
       cadre.mainloop()

                                     On obtient par exemple: 

>>> matr()
Donner la première liste pour la ligne 1 [1,2,3]
Donner la deuxième liste pour la ligne 2 [4,5,6]
Donner la troisième liste pour la ligne 3 [7,8,9]


                            t44.png

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

    EXERCICE 3

             Reprendre le même travail mais en utilisant + pour former la matrice

             carrée A d'ordre 3.

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

     REPONSE:

                                   On peut considérer :

from random import*    

from Tkinter import *
def matr():
       A=[]
       a=input("Donner la première liste pour la ligne 1 ")
       b=input("Donner la deuxième liste pour la ligne 2 ")
       c=input("Donner la troisième liste pour la ligne 3 ")
       A=A+[a]+[b]+[c]
       cadre=Tk()
       canv=Canvas(cadre,width=400,height=400)
       canv.pack()
       canv.create_rectangle((4,4,395,450),fill="white",outline="red")
       canv.create_line((65,15,60,20,60,100,65,105),fill="black",width=2)
       canv.create_line((165,15,170,20,170,100,165,105),fill="black",width=2)
       canv.create_text(40,60,text="A = ",font="Arial 16 italic", fill="black")
       for i in range(0,3):
             canv.create_text(115,30*(i+1),text=A[i],font="Arial 16 italic", fill="black")
       cadre.mainloop()

                  On obtient par exemple:

>>> matr()
Donner la première liste pour la ligne 1 [1,2,3]
Donner la deuxième liste pour la ligne 2 [4,5,6]
Donner la troisième liste pour la ligne 3 [7,8,9]

                                     t44.png

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