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:
---------------------------------------------------------------------------------------------------
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]
------------------------------------------------------------------------------------------------
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]
-------------------------------------------------------------------------------------------------------------