From bc7ecb57b88043b2b92922f5298893e2f07caf70 Mon Sep 17 00:00:00 2001 From: BOXER <130167557+BOXERRMD@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:17:59 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Projet=20"Usine=20de=20voiture"=20interm?= =?UTF-8?q?=C3=A9diaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajout d'une projet sur l'utilisation d'une class permettant de créer une "usine de voiture" pouvant afficher et convertir des caractéristiques des voitures. --- ...ture d'\303\251cran 2024-08-13 151016.png" | Bin 0 -> 12158 bytes .../2. Usine de voiture/Exemple/Couleur.py" | 1 + .../2. Usine de voiture/README.md" | 36 ++++++ .../solution/programme.py" | 106 ++++++++++++++++++ 4 files changed, 143 insertions(+) create mode 100644 "projet interm\303\251diaire/2. Usine de voiture/Exemple/Capture d'\303\251cran 2024-08-13 151016.png" create mode 100644 "projet interm\303\251diaire/2. Usine de voiture/Exemple/Couleur.py" create mode 100644 "projet interm\303\251diaire/2. Usine de voiture/README.md" create mode 100644 "projet interm\303\251diaire/2. Usine de voiture/solution/programme.py" diff --git "a/projet interm\303\251diaire/2. Usine de voiture/Exemple/Capture d'\303\251cran 2024-08-13 151016.png" "b/projet interm\303\251diaire/2. Usine de voiture/Exemple/Capture d'\303\251cran 2024-08-13 151016.png" new file mode 100644 index 0000000000000000000000000000000000000000..b38465fbb2c6200c68fbb9b8d54d12029479b4ae GIT binary patch literal 12158 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 literal 0 HcmV?d00001 diff --git "a/projet interm\303\251diaire/2. Usine de voiture/Exemple/Couleur.py" "b/projet interm\303\251diaire/2. Usine de voiture/Exemple/Couleur.py" new file mode 100644 index 0000000..e036020 --- /dev/null +++ "b/projet interm\303\251diaire/2. Usine de voiture/Exemple/Couleur.py" @@ -0,0 +1 @@ +print('\033[92m' + 'Bonjour !\n' + '\033[0m' + 'Me voila de retour sur une couleur par défaut !') \ No newline at end of file diff --git "a/projet interm\303\251diaire/2. Usine de voiture/README.md" "b/projet interm\303\251diaire/2. Usine de voiture/README.md" new file mode 100644 index 0000000..e609e2f --- /dev/null +++ "b/projet interm\303\251diaire/2. Usine de voiture/README.md" @@ -0,0 +1,36 @@ +# Usine de voiture + +## Introduction +Bienvenue dans ce projet où vous allez fabriquer une "usine de voiture" en s'aidant d'une class. Il s'agit d'un niveau intermédiaire qui peut être réalisé par des débutants si la notion de class est acq uise. + +## Instructions +Suivez les étapes ci-dessous pour réaliser ce projet : + +1. **Class usine** : créer une class `Usine` prenant en paramètre les informations suivantes : + - Le modèle (en `str`) + - La couleur (en `str` et par défaut vaut `noir`) + - La puissance (en `int` qui représentera les chevaux) + - Le poid (en `float` en kg) + +2. **Conversion du format `str` de la couleur** : à parti du texte fournit par l'utilisateur à l'initialisation de la class, convertir le texte en un nombre de 90 à 96 à partir des séquences d'échappement ANSI. + +3. **Afficher individuellement les caractéristiques** : à partir de propriétés, créer 4 propriétés servant à afficher dans la console la propriété demandé. (pour la couleur, il faut un affichage en couleur dans la console) + +4. **Afficher les caractéristiques** : à partir d'une fonction, afficher l'intégralité des caractéristiques de la voiture. + +5. **Essayer le code** : Faites 3 configurations de voiture ayant des caractéristiques différentes et affichez les comme dans l'exemple ci-dessous + +## Exemple +Exemple rendu + +## Indices +Pour afficher un text en couleur dans la console, vous pouvez utiliser le format suivant : +`\033[...m` + +Vous devez remplacer les `...` par un nombre pour afficher une couleur. (Vous pouvez vous amuser à remplacer ce nombre par un nombre random pour voir le résultat) +Si vous renseignez `0`, les modifications reprendrons leur état par défaut. + +Ex : +```python Exemple\Couleur.py``` + +Ce fichier "README.md" sert de guide pour les utilisateurs qui souhaitent participer à votre projet en créant ce programme d'usine de voiture. Vous pouvez le personnaliser davantage en fonction de vos besoins. \ No newline at end of file diff --git "a/projet interm\303\251diaire/2. Usine de voiture/solution/programme.py" "b/projet interm\303\251diaire/2. Usine de voiture/solution/programme.py" new file mode 100644 index 0000000..2f36af9 --- /dev/null +++ "b/projet interm\303\251diaire/2. Usine de voiture/solution/programme.py" @@ -0,0 +1,106 @@ +from typing import Final +''' +Solution au projet Usine de voiture. + +Ce que vous allez voir est une des solutions possibles pour résoudre cet exercice. +''' + + +#Création de notre dictionnaire des couleurs (plusieurs possibilité pour régler ce problème) +couleurs = { + 'noir': 90, + 'rouge': 91, + 'vert': 92, + 'jaune': 93, + 'bleue': 94, + 'rose': 95, + 'cyan': 96, +} + + +#Création de la class Usine +class Usine: #les parenthèses ne sont pas obligatoire quand la class n'est pas définie comme une class enfant. + + def __init__(self, modele: str, puissance: int, poid: float, couleur: str = 'noir'): #fonction essentielle d'une class pour initialiser des variables qui hériteront des paramètres renseignés + """ + *Mais pourquoi on ne choisirait pas un nom de variable plus facile à écrire pour aller plus vite ?* + + C'est une très bonne question que nous avons la. Choisir avec partimonie le nom de ses fonctions permet de + retrouver plus facilement à quoi les servent, mais rien ne vous empêche de les nommées comme vous le voulez. + Par ailleurs, si votre code est destiné à être réutilisé par un autre developer ou par vous dans plusieurs années, + vous serez bien content d'avoir mis des noms explicites pour vous retrouver plus facilement x) + """ + self.__modele : Final[str] = modele + self.__puissance: Final[int] = puissance + self.__poid: Final[float] = poid + self.__couleur: Final[int] = self.convertir_couleur(couleur) #on appelle une fonction pour définir la variable + + def convertir_couleur(self, couleur: str) -> int: + + couleur = couleur.lower() #La fonction lower() permet de transformer tous les caractères majuscules en minuscules pour ne pas avoir de problème sur la casse + + if couleur in couleurs.keys(): + return couleurs[couleur] + + raise ValueError(f"La couleur {couleur} n'est pas disponible !") #renvoi une erreur si la couleur n'est pas disponnible + + + def montrer_ressources(self) -> None: + + print( + f"Vos caractéristiques de voiture :\n" + f"Modèle : {self.__modele}\n" + f"Puissance en chevaux : {self.__puissance}\n" + f"Poid : {self.__poid} kg\n" + f"Couleur : " + + f"\033[{self.__couleur}m" + + f"{self.__couleur}" + + "\033[0m" + ) + + # On définit les propriétés + @property + def poid_(self) -> float: + return self.__poid + + @property + def puissance_(self) -> int: + return self.__puissance + + @property + def modele_(self) -> str: + return self.__modele + + @property + def couleur_(self) -> int: + return self.__couleur + + +''' +Utilisation de cette class : + +Imaginons que nous voulons 3 voitures différentes voulant sortir de l'usine +''' + + +voiture_1 = Usine(modele='Renaud', puissance=120, poid=1200) #première voiture définit sans couleur +voiture_2 = Usine(modele='Peugeot', puissance=90, poid=1050, couleur='vert') +voiture_3 = Usine(modele='Tesla', puissance=230, poid=1800, couleur='Cyan') + +''' +Afficher les informations des 3 voitures : +''' + +for voiture in (voiture_1, voiture_2, voiture_3): #on boucle sur les 3 voitures pour récupérer l'objet "Usine" + + print(f"Informations pour la voiture {voiture.modele_} :\n") #On utiliser la propriété "modele_" pour afficher uniquement le nom du modèle actuel de voiture + voiture.montrer_ressources() #On montre toutes les ressources à partir d'un appel de fonction + print("--------------------------------------------") + + + + + + + + From 063fdd13c03c65c8f9f7e6a9c16607ce3aeaf9e1 Mon Sep 17 00:00:00 2001 From: BOXER <130167557+BOXERRMD@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:20:04 +0200 Subject: [PATCH 2/2] correction d'une faute de frappe --- "projet interm\303\251diaire/2. Usine de voiture/README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/projet interm\303\251diaire/2. Usine de voiture/README.md" "b/projet interm\303\251diaire/2. Usine de voiture/README.md" index e609e2f..c49347c 100644 --- "a/projet interm\303\251diaire/2. Usine de voiture/README.md" +++ "b/projet interm\303\251diaire/2. Usine de voiture/README.md" @@ -1,7 +1,7 @@ # Usine de voiture ## Introduction -Bienvenue dans ce projet où vous allez fabriquer une "usine de voiture" en s'aidant d'une class. Il s'agit d'un niveau intermédiaire qui peut être réalisé par des débutants si la notion de class est acq uise. +Bienvenue dans ce projet où vous allez fabriquer une "usine de voiture" en s'aidant d'une class. Il s'agit d'un niveau intermédiaire qui peut être réalisé par des débutants si la notion de class est acquise. ## Instructions Suivez les étapes ci-dessous pour réaliser ce projet :