From f2edd6adde2ef39d1a4b29fd1e7bb7cb17e066b6 Mon Sep 17 00:00:00 2001
From: Belkacemi Melissa <melissa.belkacemi.etu@118p29.fil.univ-lille.fr>
Date: Wed, 13 Mar 2024 11:46:34 +0100
Subject: [PATCH] bloc.py

---
 PJ/README.md  | 12 ++++++++++--
 PJ/bloc.py    | 25 +++++++++++++++++++++++++
 PJ/couleur.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 PJ/bloc.py
 create mode 100644 PJ/couleur.py

diff --git a/PJ/README.md b/PJ/README.md
index 15cc144..402037b 100644
--- a/PJ/README.md
+++ b/PJ/README.md
@@ -3,5 +3,13 @@ Title:Projet Images Récurssives
 Author: Belkacemi Melissa
 ---
 #journal
-6/3/2024:
-lecture du sujet du projet et création du document images
+6/3/2024: 
+
+- lecture du sujet du projet
+- création du document images
+
+
+13/3/2024:
+
+- création du fichier couleur.py
+- création du fichier bloc.py
diff --git a/PJ/bloc.py b/PJ/bloc.py
new file mode 100644
index 0000000..949fa3c
--- /dev/null
+++ b/PJ/bloc.py
@@ -0,0 +1,25 @@
+#Belkacemi Melissa
+#13/03/2024
+
+class Bloc:
+    """ une classe représentant des blocs
+
+    """
+    def __init__(self,couleur:tuple[int,int,int],pixel_hg:tuple[int,int],pixel_bd:tuple[int,int])->"Bloc":
+        """à_remplacer_par_ce_que_fait_la_fonction
+
+        Précondition : 
+        Exemple(s) :
+        $$$ b=Bloc((45,63,125),(120,23),(45,111))
+        $$$ b.couleur
+        (45,63,125)
+        $$$ b.pixel_hg
+        (120,23)
+        $$$ b.pixel_bd
+        (45,111)
+
+        """
+        self.couleur=couleur
+        self.pixel_hg=pixel_hg
+        self.pixel_bd=pixel_bd
+        
diff --git a/PJ/couleur.py b/PJ/couleur.py
new file mode 100644
index 0000000..b65f9f0
--- /dev/null
+++ b/PJ/couleur.py
@@ -0,0 +1,47 @@
+#Belkacemi Melissa
+#13/03/2024
+
+def couleur_moyenne(liste:list[tuple[int,int,int]])->tuple[int,int,int]:
+    """déterminer la couleur moyenne d'une liste de couleurs sous la forme (r,g,b)
+
+    Précondition : len(liste)>0 r,v et b <=255
+    Exemple(s) :
+    $$$ couleur_moyenne([(1,32,4)])
+    (1,32,4)
+    $$$ couleur_moyenne([(2,32,4),(0,4,6)])
+    (1,18,5)
+    $$$ couleur_moyenne([(2,32,4),(0,4,6),(8,5,4)])
+    (3,13,4)
+
+    """
+    rouge=0
+    vert=0
+    bleu=0
+    for elt in liste:
+        rouge+=elt[0]
+        vert+=elt[1]
+        bleu+=elt[2]
+    return (rouge//len(liste),vert//len(liste),bleu//len(liste))
+    
+def coul_sont_proches(coul1:tuple[int,int,int],coul2:tuple[int,int,int])->bool:
+    """Prend en paramètres deux couleurs (r1,v1,b1) et (r2,v2,b2) et
+    renvoie True si les distances entre r1 et r2, v1 et v2, et b1 et b2
+    est inférieure à 10 
+
+    Précondition : 
+    Exemple(s) :
+    $$$ coul_sont_proches((145,145,130),(140,136,132))
+    True
+    $$$ coul_sont_proches((45,45,30),(45,36,32))
+    True
+    $$$ coul_sont_proches((40,45,32),(40,36,32))
+    True
+    $$$ coul_sont_proches((45,45,30),(40,36,46))
+    False
+    $$$ coul_sont_proches((10,45,30),(40,36,32))
+    False
+
+    """
+    r1,v1,b1=coul1
+    r2,v2,b2=coul2
+    return (abs(r1-r2)<=10 and abs(v1-v2)<=10 and abs(b1-b2)<=10)
\ No newline at end of file
-- 
GitLab