• Aucun résultat trouvé

LES ETAPES DE LA CONSTRUCTIONS DE LA CALCULATRICE

N/A
N/A
Protected

Academic year: 2022

Partager "LES ETAPES DE LA CONSTRUCTIONS DE LA CALCULATRICE"

Copied!
10
0
0

Texte intégral

(1)

LES ETAPES DE LA CONSTRUCTIONS DE LA CALCULATRICE

Dans tkinter la page est diviser en lignes (row) et en colonnes (column) qui commencent à 0.

Voici la maquette de notre calculatrice.

column

0 1 2 3 4 5 6 7

row 0

1 Ecrire tous les signe opératoires

2

3 ZONE REPONSES

4

5 7 8 9 +

6

7 4 5 6 -

8

9 1 2 3 *

10

11 0 point(virg) /

12

13 ( ) =

14 effacer

15

(2)

Etape 1 : Création de la fenêtre.

from tkinter import *

# Import des noms du module

# zone du programme fenetre = Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice") #Nom de la fenetre

fenetre.geometry("400x500") #definis la taille de la fenetre

# Ajout des autres widgets

# ...

fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

Etape 2 : création de la zone de réponse.

from tkinter import * # Import des noms du module

fenetre =Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice")

# Titre qui apparait dans le haut de la fenetre fenetre.geometry("325x560")

# la taille de la fenetre

reponse=Text()#zone réponse

reponse.grid(row=3,column=1,columnspan=6) reponse.config(height=10,width=30,font=15)

fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

Etape 3 : Création du bouton 1

from tkinter import * # Import des noms du module

fenetre =Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice")

# Titre qui apparait dans le haut de la fenetre fenetre.geometry("325x560")

# la taille de la fenetre

reponse=Text()#zone réponse

reponse.grid(row=3,column=1,columnspan=6) reponse.config(height=10,width=30)

bou1 =Button(fenetre,text='1',width =5,font=15).grid(row =9,column =1)# Bouton pour 1

fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

(3)

Etape 4 : Rendre actif le bouton

fromtkinter import*

# Import des noms du module

defbout1():

reponse.insert(END,"1")

fenetre =Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice")

# Titre qui apparait dans le haut de la fenetre fenetre.geometry("325x560")

# la taille de la fenetre

reponse=Text()#zone réponse

reponse.grid(row=3,column=1,columnspan=6) reponse.config(height=10,width=30)

bou1 =Button(fenetre,text='1',width =5,font=15,command=bout1).grid(row =9,column =1)# Bouton pour 1

fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

Etape 5 : Création des autres boutons.

from tkinter import * # Import des noms du module

defbout0():

# fonctions pour ecrire quand on clique sur les boutons

reponse.insert(END,"0") defbout1():

reponse.insert(END,"1") defbout2():

reponse.insert(END,"2") defbout3():

reponse.insert(END,"3") defbout4():

reponse.insert(END,"4") defbout5():

reponse.insert(END,"5") defbout6():

reponse.insert(END,"6") defbout7():

reponse.insert(END,"7") defbout8():

reponse.insert(END,"8") defbout9():

reponse.insert(END,"9") defboutplus():

reponse.insert(END,"+") defboutmoins():

reponse.insert(END,"-") defboutfois():

reponse.insert(END,"*") defboutdiv():

(4)

reponse.insert(END,".") defpargauche():

reponse.insert(END,"(")

y=y+'('

defpardroite():

reponse.insert(END,")")

y=y+')'

fenetre =Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice")

# Titre qui apparait dans le haut de la fenetre fenetre.geometry("325x560")

# la taille de la fenetre

reponse=Text()#zone réponse

reponse.grid(row=3,column=1,columnspan=10) reponse.config(height=10,width=30)

bou1 =Button(fenetre,text='1',width =5,command=bout1).grid(row =9,column =1)# Bouton pour 1

bou2 =Button(fenetre,text='2',width =5,command=bout2).grid(row =9,column =2) bou3 =Button(fenetre,text='3',width =5,command=bout3).grid(row =9,column =3) bou4 =Button(fenetre,text='4',width =5,command=bout4).grid(row =7,column =1) bou5 =Button(fenetre,text='5',width =5,command=bout5).grid(row =7,column =2) bou6 =Button(fenetre,text='6',width =5,command=bout6).grid(row =7,column =3) bou7 =Button(fenetre,text='7',width =5,command=bout7).grid(row =5,column =1) bou8 =Button(fenetre,text='8',width =5,command=bout8).grid(row =5,column =2) bou9 =Button(fenetre,text='9',width =5,command=bout9).grid(row =5,column =3) bou0 =Button(fenetre,text='0',width =5,command=bout0).grid(row =11,column =1)

boupoint =Button(fenetre,text=',',width =4,command=boutpoint).grid(row =11,column =3) bouplus =Button(fenetre,text='+',width =4,command=boutplus).grid(row =5,column =4) boumoins =Button(fenetre,text='-',width =4,command=boutmoins).grid(row =7,column =4) boufois =Button(fenetre,text='x',width =4,command=boutfois).grid(row =9,column =4) boudiv =Button(fenetre,text='/',width=4,command=boutdiv).grid(row=11,column=4)

boupargauche=Button(fenetre,text='(',width=5,command=pargauche).grid(row=13,column=1)# bouton parenthese

boupardroite=Button(fenetre,text=')',width=5,command=pardroite).grid(row=13,column=2) bouegale =Button(fenetre,text='=',width =4).grid(row =12,column =4)

fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

(5)

Etape 6 : le calcul et affichage du résultat.

from tkinter import * # Import des noms des modules frommath import*

y =str()# Crée une chaîne vide

defbout0():

# fonctions pour ecrire dans la zone texte quand on clique sur les boutons

reponse.insert(END,"0")

# pour écrire 0 dans la zone texte

globaly # pour dire y n'est pas une variable locale

y=y+'0' defbout1():

reponse.insert(END,"1")

globaly

y=y+'1' defbout2():

reponse.insert(END,"2")

globaly

y=y+'2' defbout3():

reponse.insert(END,"3")

globaly

y=y+'3' defbout4():

reponse.insert(END,"4")

globaly

y=y+'4' defbout5():

reponse.insert(END,"5")

globaly

y=y+'5' defbout6():

reponse.insert(END,"6")

globaly

y=y+'6' defbout7():

reponse.insert(END,"7")

globaly

y=y+'7' defbout8():

reponse.insert(END,"8")

globaly

y=y+'8' defbout9():

reponse.insert(END,"9")

globaly

y=y+'9' defboutplus():

reponse.insert(END,"+")

globaly

y=y+"+"

defboutmoins():

reponse.insert(END,"-")

globaly

(6)

reponse.insert(END,"*")

globaly

y=y+"*"

defboutdiv():

reponse.insert(END,"/")

globaly

y=y+"/"

defboutpoint():

reponse.insert(END,".")

globaly

y=y+"."

defpargauche():

reponse.insert(END,"(")

globaly

y=y+'('

defpardroite():

reponse.insert(END,")")

globaly

y=y+')'

defresultat():

# affichage du resultat

reponse.insert(END," = ")

globaly

x=round(eval(y),8)

reponse.insert(END,str(x)+'\n')

y=str()

defeffacer():

# pour effacer la zone texte

globaly

reponse.delete(0.0,END)

y=str()

fenetre =Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice")

# Titre qui apparait dans le haut de la fenetre fenetre.geometry("325x560")

# la taille de la fenetre

reponse=Text()#zone réponse

reponse.grid(row=3,column=1,columnspan=6) reponse.config(height=10,width=30,font=15)

bou1 =Button(fenetre,text='1',width =5,command=bout1).grid(row =9,column =1)# Bouton pour 1 bou2 =Button(fenetre,text='2',width =5,command=bout2).grid(row =9,column =2)

bou3 =Button(fenetre,text='3',width =5,command=bout3).grid(row =9,column =3) bou4 =Button(fenetre,text='4',width =5,command=bout4).grid(row =7,column =1) bou5 =Button(fenetre,text='5',width =5,command=bout5).grid(row =7,column =2) bou6 =Button(fenetre,text='6',width =5,command=bout6).grid(row =7,column =3) bou7 =Button(fenetre,text='7',width =5,command=bout7).grid(row =5,column =1) bou8 =Button(fenetre,text='8',width =5,command=bout8).grid(row =5,column =2) bou9 =Button(fenetre,text='9',width =5,command=bout9).grid(row =5,column =3) bou0 =Button(fenetre,text='0',width =5,command=bout0).grid(row =13,column =1)

boupargauche=Button(fenetre,text='(',width=5,command=pargauche).grid(row=15,column=1)# bouton parenthese

(7)

boupardroite=Button(fenetre,text=')',width=5,command=pardroite).grid(row=15,column=2)

boupoint =Button(fenetre,text=',',width =5,command=boutpoint,font=15).grid(row =13,column

=3)# boutons operatoirs

bouplus =Button(fenetre,text='+',width =5,command=boutplus).grid(row =5,column =4) boumoins =Button(fenetre,text='-',width =5,command=boutmoins).grid(row =7,column =4) boufois =Button(fenetre,text='x',width =5,command=boutfois).grid(row =9,column =4) boudiv =Button(fenetre,text='/',width=5,command=boutdiv).grid(row=13,column=4)

bouegale =Button(fenetre,text='=',width =5,command=resultat).grid(row =15,column =4)# bouton egalite

boutoneffa=Button(text="Effacer",command=effacer,).grid(row=20,column=3)

# bouton effacer fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

(8)

Etape 7: la présentation.

from tkinter import *

# Import des noms des modules frommath import*

y =str()# Crée une chaîne vide

defbout0():

# fonctions pour ecrire dans la zone texte quand on clique sur les boutons

reponse.insert(END,"0")

# pour écrire 0 dans la zone texte

globaly # pour dire y n'est pas une variable locale

y=y+'0' defbout1():

reponse.insert(END,"1")

globaly

y=y+'1' defbout2():

reponse.insert(END,"2")

globaly

y=y+'2' defbout3():

reponse.insert(END,"3")

globaly

y=y+'3' defbout4():

reponse.insert(END,"4")

globaly

y=y+'4' defbout5():

reponse.insert(END,"5")

globaly

y=y+'5' defbout6():

reponse.insert(END,"6")

globaly

y=y+'6' defbout7():

reponse.insert(END,"7")

globaly

y=y+'7' defbout8():

reponse.insert(END,"8")

globaly

y=y+'8' defbout9():

reponse.insert(END,"9")

globaly

y=y+'9' defboutplus():

reponse.insert(END,"+")

globaly

y=y+"+"

defboutmoins():

reponse.insert(END,"-")

globaly

y=y+"-"

defboutfois():

(9)

reponse.insert(END,"*")

globaly

y=y+"*"

defboutdiv():

reponse.insert(END,"/")

globaly

y=y+"/"

defboutpoint():

reponse.insert(END,".")

globaly

y=y+"."

defpargauche():

reponse.insert(END,"(")

globaly

y=y+'('

defpardroite():

reponse.insert(END,")")

globaly

y=y+')'

defresultat():

# affichage du resultat

reponse.insert(END," = ")

globaly

x=round(eval(y),8)

reponse.insert(END,str(x)+'\n','couleurreponse')

y=str()

defeffacer():

# pour effacer la zone texte

globaly

reponse.delete(0.0,END)

y=str()

fenetre =Tk()

# Création d'un objet "fenêtre"

fenetre.title (" Ma Calculatrice")

# Titre qui apparait dans le haut de la fenetre fenetre.geometry("325x560")

# la taille de la fenetre

fenetre.config(bg='SkyBlue2')

Label(fenetre,text="Ecrire tous les signes opératoires",font=15,fg="red", background='yellow').grid(row=1,column=1,columnspan=7)

Label(text="",bg='SkyBlue2').grid(row=0)

# pour des espaces entre les boutons Label(text="",bg='SkyBlue2').grid(row=2)

Label(text="",bg='SkyBlue2').grid(row=6) Label(text="",bg='SkyBlue2').grid(row=8) Label("",bg='SkyBlue2').grid(row=10) Label("",bg='SkyBlue2').grid(row=14)

Label("",bg='SkyBlue2',width=2).grid(column=0)

Label(text=" ",bg='SkyBlue2',width=6).grid(row=4,column=8) reponse=Text()#zone réponse

reponse.grid(row=3,column=1,columnspan=6) reponse.config(height=10,width=30,font=15)

reponse.tag_config('couleurreponse',foreground="red",font='bold')# pour mettre la reponse en couleur

(10)

barredef.grid(row=3,column=7,sticky=('N','S'))

bou1 =Button(fenetre,text='1',width =5,command=bout1,font=15).grid(row =9,column =1)# Bouton pour 1

bou2 =Button(fenetre,text='2',width =5,command=bout2,font=15).grid(row =9,column =2) bou3 =Button(fenetre,text='3',width =5,command=bout3,font=15).grid(row =9,column =3) bou4 =Button(fenetre,text='4',width =5,command=bout4,font=15).grid(row =7,column =1) bou5 =Button(fenetre,text='5',width =5,command=bout5,font=15).grid(row =7,column =2) bou6 =Button(fenetre,text='6',width =5,command=bout6,font=15).grid(row =7,column =3) bou7 =Button(fenetre,text='7',width =5,command=bout7,font=15).grid(row =5,column =1) bou8 =Button(fenetre,text='8',width =5,command=bout8,font=15).grid(row =5,column =2) bou9 =Button(fenetre,text='9',width =5,command=bout9,font=15).grid(row =5,column =3) bou0 =Button(fenetre,text='0',width =5,command=bout0,font=15).grid(row =13,column =1)

boupargauche=Button(fenetre,text='(',width=5,command=pargauche,font=15).grid(row=15,column=1)

# bouton parenthese

boupardroite=Button(fenetre,text=')',width=5,command=pardroite,font=15).grid(row=15,column=2)

boupoint =Button(fenetre,text=',',width =5,command=boutpoint,font=15).grid(row =13,column

=3)# boutons operatoirs

bouplus =Button(fenetre,text='+',width =5,bg="gold",command=boutplus,font=15).grid(row =5, column =4)

boumoins =Button(fenetre,text='-',width =5,bg="gold",command=boutmoins,font=15).grid(row

=7,column =4)

boufois =Button(fenetre,text='x',width =5,bg="gold",command=boutfois,font=15).grid(row =9, column =4)

boudiv =

Button(fenetre,text='/',width=5,bg="gold",command=boutdiv,font=15).grid(row=13,column=4)

bouegale =Button(fenetre,text='=',width =5,bg="red",command=resultat,font=15).grid(row =15, column =4)# bouton egalite

boutoneffa=Button(text="Effacer",command=effacer,bg="magenta",font=15).grid(row=20,column=3)

# bouton effacer

fenetre.mainloop()

# Démarrage de la boucle Tkinter (à placer à la fin !!!)

Références

Documents relatifs

- sérigraphie de l'adhésif conducteur sur les plots de connexion du circuit imprimé ; - pose d'une goutte de colle entre les plots pour maintenir le CMS ;. - report des

Le lendemain, lecture de la même histoire mais invention d’une autre suite par le maître.. Réaction spontanée

Au fil d'une étape riche et complexe, explorez les méthodes incontournables quI constitue la production de personnages réalistes, Il ne suffira pas de partir d'un modèle au

# f est une chaîne de caractères qui sera évaluée en fonction de la valeur de x fenimagefonction= Tk()#fenetre principale. fenimagefonction.title('Image par

Dans tkinter la fenêtre est diviser en lignes (row) et en colonnes (column) qui commencent à 0.. Voici la maquette de

Je me fais respecter tout en respectant l’autre.. Méthode OSBD (CNV de Marshall

Pour les fictions, la cote se compose de lettres : 1 lettre pour le genre, 3 premières lettres de l'auteur, 1 lettre pour le titre : R ZOL a = la cote indique qu'il s'agit d'un

- Réalisation de la synthèse : pour chaque question, il doit y avoir une présentation des résultats, éventuellement du graphique, et, obligatoirement, un commentaire de ce résultat.