On travaille dans cet exercice sur la classe Article qui permet de décrire un article (trousse, gomme...) à acheter.
classDiagram
class Article{
description : str
prix : float
reduction : int
prix_apres_reduction() float
}
Un article est caractérisé par sa description de type str, son prix de type float, et sa remise de type int, exprimée en pourcentage.
Cette classe dispose de la méthode article.prix_apres_reduction qui renvoie la valeur du prix auquel on a appliqué une réduction, le prix final étant arrondi au centime.
round ?
La fonction intégrée round permet d'arrondir un nombre donné.
La fonction prend en paramètres un nombre à virgule ainsi qu'un nombre de décimales et renvoie la valeur arrondie à ce nombre de décimales près.
🐍 Console Python
>>> round(65.1745,2)65.17>>> round(65.1795,1)65.2
Le code de cette classe est donné ci-dessous :
🐍 Script Python
classArticle:def__init__(self,description,prix):""" Création d'un nouvel article """self.description=descriptionself.prix=prixself.remise=0defprix_apres_reduction(self)->float:""" Renvoie le prix de l'article après réduction """returnround(self.prix*(1-self.remise/100),2)
Question 1
En utilisant cette classe Article, créer un tableau courses contenant les articles suivants dont on donne les valeurs des attributs description et prix :
un "cartable" à 45 €
une "boite de crayons de couleurs" à 9,95 €
une "trousse" à 12 €
Descriptions
Attention à bien renseigner pour chaque article la description et le prix donnés ci-dessus.
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Le magasin propose 10% de remise sur les cartables et \(20\)% sur les trousses. Par contre, il n'y a pas de remise sur les boites de crayons de couleur.
Modifier la valeur des remises sur les articles concernés.
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)