Browse Source

j'ai enlevé tout les fichier inutile

master
manon 1 month ago
parent
commit
6ae2ba269f
  1. 113
      arbre.py
  2. 9
      interface.py
  3. 1
      oui.py
  4. 94
      sanstitre0.py
  5. 123
      sanstitre1.py

113
arbre.py

@ -1,113 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Jan 23 19:23:01 2021
@author: manu
"""
from File import File_chaine as File
from Pile import Pile_chaine as Pile
class Arbre:
"""Un arbre binaire."""
def __init__(self, val):
self.valeur = val
self.gauche = None
self.droit = None
def insere_gauche(self, val):
"""Insère la valeur val à la racine du fils gauche de l'arbre.
L'ancien fils gauche devient le fils gauche du nouveau nœud.
Renvoie le sous arbre créé."""
nouvel_arbre = Arbre(val)
nouvel_arbre.gauche = self.gauche
self.gauche = nouvel_arbre
return nouvel_arbre
def insere_droit(self, val):
"""Insère la valeur val à la racine du fils droit de l'arbre.
L'ancien fils droit devient le fils gauche du nouveau nœud.
Renvoie le sous arbre créé."""
nouvel_arbre = Arbre(val)
nouvel_arbre.gauche = self.droit
self.droit = nouvel_arbre
return nouvel_arbre
def taille(a):
"""Renvoie la taille de l'arbre a."""
if a is None:
return 0
return 1 + taille(a.gauche) + taille(a.droit)
def hauteur(a):
"""Renvoie la hauteur de l'arbre a."""
if a is None:
return 0
return 1 + max(hauteur(a.gauche), hauteur(a.droit))
def parcours_bfs(a):
"""Affiche tous les nœuds de l'arbre non vide a par un parcours BFS."""
a_traiter = File()
a_traiter.enfiler(a)
while not a_traiter.est_vide():
noeud = a_traiter.defiler()
print(noeud.valeur)
if noeud.gauche is not None:
a_traiter.enfiler(noeud.gauche)
if noeud.droit is not None:
a_traiter.enfiler(noeud.droit)
def parcours_dfs_iter(a):
"""Affiche tous les nœuds de l'arbre non vide a par un parcours DFS."""
a_traiter = Pile()
a_traiter.empiler(a)
while not a_traiter.est_vide():
noeud = a_traiter.depiler()
print(noeud.valeur)
if noeud.droit is not None:
a_traiter.empiler(noeud.droit)
if noeud.gauche is not None:
a_traiter.empiler(noeud.gauche)
def parcours_dfs_prefixe(a):
"""Affiche tous les nœuds de l'arbre a par un parcours DFS préfixé."""
if a is None:
return
print(a.valeur)
parcours_dfs_prefixe(a.gauche)
parcours_dfs_prefixe(a.droit)
def parcours_dfs_infixe(a):
"""Affiche tous les nœuds de l'arbre a par un parcours DFS préfixé."""
if a is None:
return
parcours_dfs_infixe(a.gauche)
print(a.valeur)
parcours_dfs_infixe(a.droit)
def parcours_dfs_postfixe(a):
"""Affiche tous les nœuds de l'arbre a par un parcours DFS préfixé."""
if a is None:
return
parcours_dfs_postfixe(a.gauche)
parcours_dfs_postfixe(a.droit)
print(a.valeur)
if __name__ == "__main__":
a = Arbre("A")
a.insere_gauche("B")
a.insere_droit("C")
a.gauche.insere_gauche("D")
a.gauche.insere_droit("E")
a.gauche.gauche.insere_droit("G")
a.droit.insere_gauche("F")

9
interface.py

@ -1,9 +0,0 @@
from tkinter import *
fenetre = Tk()
label = Label(fenetre, text = "Hello world")
label.pack()
bouton = Button(fenetre,
fenetre.mainloop()

1
oui.py

@ -1,6 +1,7 @@
# BELLYNCK Manon # BELLYNCK Manon
# GUILLAUMIN-TORRES Ambre # GUILLAUMIN-TORRES Ambre
# COVIN Clara # COVIN Clara
from Pile import Pile_lst as Pile from Pile import Pile_lst as Pile
class Expression: class Expression:

94
sanstitre0.py

@ -1,94 +0,0 @@
import tkinter as tk
fen = tk.Tk()
fen.title("Calculatrice")
#taille de la fenetre
fen.geometry("550x450")
canvas=tk.Canvas(fen, width=500, height=300, bg="pink")
label = tk.Label(canvas, text='Testing')
# canvas.create_window(50, 50, window.label)
canvas.grid(column=0,row=0)
class Expression:
"""représente une expression arithmétique sous forme d'un arbre"""
def __init__ (self, valeur_racine, fils_gauche, fils_droit):
self.val_racine = valeur_racine
self.gauche = fils_gauche
self.droit = fils_droit
def evalue (self) :
if self.gauche == None and self.droit == None :
return self.val_racine
if self.gauche != None: #on ne met pas elif car les cas sont indépendants"
gauche_val = self.gauche.evalue()
else:
gauche_val = 0
if self.droit != None:
droite_val = self.droit.evalue()
else:
droite_val = 0
if self.val_racine == '+':
return gauche_val + droite_val
elif self.val_racine == '-':
return gauche_val - droite_val
elif self.val_racine == '*':
return gauche_val * droite_val
else :
raise ValueError ("Cette commande ne peut pas être effectuer")
def __str__(self):
result = ""
if self.droit:
result = result + str(self.droit)
result = result + str(self.val_racine) + "\n" """le "/n" c'est pour avoir une nouvelle ligne de l'arbre"""
if self.gauche:
result += str(self.gauche)
return result
def multiplication(self):
"""Multiplie la valeur des fils gauche et droits"""
if self.gauche == int and self.droit == int :
return self.gauche * self.droit
def addition(self):
"""Additionne les valeurs des fils gauche et droits"""
if self.gauche == int and self.droit == int :
return self.gauche + self.droit
#test
exp = Expression('*',
Expression(6, None, None),
Expression('+',
Expression(4, None, None),
Expression(3, None, None)
)
)
# Label pour l'interface
label_1 = tk.Label(fen, text="Entrez l'expression :")
label_1.grid()
# Champ de texte pour l'entrée de l'expression
entry = tk.Entry(fen, width=30)
entry.grid()
# Bouton pour calculer l'expression
#btn_calculer = tk.Button(fenetre, text="Calculer", command=evaluer_expression)
#btn_calculer.pack()
# Label pour afficher le résultat
label_2 = tk.Label(fen, text="Résultat: ")
label_2.grid()
# Lancement de l'interface graphique
fen.mainloop()

123
sanstitre1.py

@ -1,123 +0,0 @@
import tkinter as tk
from decimal import *
import numpy as np
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
fen = tk.Tk()
home = tk.Frame()
fen.title("Calculateur d'IMC")
#taille de la fenetre
fen.geometry("950x750")
canvas=tk.Canvas(fen, width=600, height=500, bg="white") #canvas de droite
blanc1 = tk.PhotoImage(file = 'blanc1.png')#image cachée
image_container1= canvas.create_image(0, 0,anchor=tk.NW,image = blanc1)#son placement
canvas.grid(column=1,row=0) #placement canvas
canvas2=tk.Canvas(fen, width=225, height=500, bg="white") #canvas de gauche
blanc = tk.PhotoImage(file = 'blanc.png')#image cachée
image_container2= canvas2.create_image(40, 10,anchor=tk.NW, image = blanc)#son placement
canvas2.grid(column=0, row=0) #placement canvas
lbl1=tk.Label(fen, text="votre poids (en kg)", font='Arial') #label poids
lbl1.grid(column=0, columnspan=2, padx=10, pady=10, row=1)
entree_kg = tk.Entry(fen) #entry poids
entree_kg.grid(column=0, columnspan=2,ipadx=50, padx=10, pady=10, row=2)
lbl2=tk.Label(fen, text="votre taille (en cm)", font='Arial') #label taille
lbl2.grid(column=0, columnspan=2, padx=10, pady=10, row=3)
entree_cm = tk.Entry(fen) #entry taille
entree_cm.grid(column=0, columnspan=2,ipadx=50, padx=10, pady=10, row=4)
Label1=tk.Label(fen, text=" ", font=('Arial'))#texte de droite caché
Label1.grid(column=1, row=1, sticky="e", padx=50, pady=10)
#photos
image_norm = tk.PhotoImage(file = 'normal.png')
image_obes_s = tk.PhotoImage(file = 'obesite severe.png')
image_obes = tk.PhotoImage(file = 'obesite.png')
image_sousp = tk.PhotoImage(file = 'sous poids.png')
image_surpoids = tk.PhotoImage(file = 'surpoids.png')
#fonction qui affiche image imc+petite phrase+graphique
def afficher_imc():
if float(entree_cm.get()) < 100:
Label1.config(text="Veuillez entrer une valeur plus haute(cm)")
elif float(entree_cm.get()) > 210:
Label1.config(text="Veuillez entrer une valeur plus basse(cm)")
elif float(entree_kg.get()) <= 0:
Label1.config(text="Veuillez entrer une valeur plus basse(kg)")
elif float(entree_kg.get()) > 210:
Label1.config(text="Veuillez entrer une valeur plus haute(kg)")
else:
taille = float(entree_cm.get())/100 #convertir cm en m
poids= float(entree_kg.get())
imc =float(poids/taille**2) #calcul imc
if imc <=18.4:
Label1.config(text="Vous êtes en sous-poids")
canvas2.itemconfig(image_container2,image=image_sousp)
if imc >=18.5 and imc<=24.9:
Label1.config(text="Votre poids est normal")
canvas2.itemconfig(image_container2,image=image_norm)
if imc >=25.0 and imc<=29.9:
Label1.config(text="Vous êtes en sur poids")
canvas2.itemconfig(image_container2,image=image_surpoids)
if imc >=30.0 and imc<=34.9:
Label1.config(text="Vous etes en obesité")
canvas2.itemconfig(image_container2,image=image_obes)
if imc >=35.0:
Label1.config(text="Vous etes en obesité sévere")
canvas2.itemconfig(image_container2, image=image_obes_s)#l'image de l'obésité sévère est un peu décalée,
#je ne suis pas arrivé à la redimensionner
imc2=Decimal(imc)
imc_simple = imc2.quantize(Decimal('.01')) #deux chiffres après la virgule
lbl=tk.Label(fen, text="Votre imc est de :", font='Arial')
lbl.grid(column=0,row=1)
lbl=tk.Label(fen, text=imc_simple, font='Arial') #afficher le resultat calcul imc
lbl.grid(column=0, row=2)
# graphique
fig = Figure(figsize=(7.2, 5.2), dpi=96)
ax = fig.add_subplot(111)
ax.axis([100, 220, 0, 180]) #limite du graphe
x = np.linspace(100, 220) # les tailles extrèmes en cm
# cm//m
ax.fill_between(x, 0, 18.4 * (x/100)**2, label="sous poids",color="LightBlue") # sous poids si 0 <= y <= 18.4 * x²
ax.fill_between(x, 18.5 * (x/100)**2, 24.9 * (x/100)**2, label="poids idéal",color="green") # idéal si 18.5 * x² <= y <= 24.9 * x²
ax.fill_between(x, 25 * (x/100)**2, 29.9 * (x/100)**2, label="surpoids",color="yellow") # surpoids si 25 * x² <= y <= 29.9 * x²
ax.fill_between(x, 30 * (x/100)**2, 34.9 * (x/100)**2, label="obesité",color="orange") # obésité si 30 * x² <= y <= 34.9 * x²
ax.fill_between(x,180, 35 * (x/100)**2, 40 * (x/100)**2, label="obesité sévère",color="red") # obesité sevère si 35 * x² <= y
ax.scatter(taille*100, poids, color='black')#point a placer sur le graphique. il ne s'affiche qu'une fois
#parce que je ne suis pas arrivé a ne pas le réinitialisé
graph = FigureCanvasTkAgg(fig, master=fen)
canvas = graph.get_tk_widget()
canvas.grid(row=0, column=1)
bouton=tk.Button(fen, text="Afficher l'IMC", command=afficher_imc) #bouton pour afficher tout
bouton.grid(column=0, columnspan=2,ipadx=50, padx=10, pady=10, row=6)
fen.mainloop()
Loading…
Cancel
Save