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