Les T-shirts du BDE
Le BDE du lycée propose des t-shirts avec le logo de l'établissement. Il faut acheter les t-shirts à un fournisseur dont les prix dépendent de la quantité voulue. Pour moins de 100 t-shirts achetés, le prix est de 5€ l'unité. Si le BDE commande entre 100 et 500 t-shirts (inclus), le prix est de 4€ l'unité. Et pour plus de 500 t-shirts commandés, le prix est de 3€ l'unité.
Tu vas créer une fonction Python pour aider le BDE à modéliser les coûts. La facture dépend uniquement du nombre de t-shirts commandés.
- 1
Défini une fonction
facture
qui prend en argument le nombre de t-shirts achetés et renvoie le coût total payé par le BDE. Utilise une instruction conditionnelle pour distinguer les différents cas.Solution
Notons
n
le nombre de T-shirts achetés. Il faut utiliser une instruction conditionnelle pour distinguer les différents cas et renvoyer le prix total :def facture(n): if n < 100: return n * 5 elif n <= 500: return n * 4 else: return n * 3
- 2
Le BDE interroge les élèves pour anticiper les achats. Entre 480 et 530 élèves sont intéressés par le t-shirt. Le BDE hésite entre acheter la quantité minimale pour éviter les pertes, ou acheter la quantité maximale pour satisfaire tout le monde.
Quelle est la facture pour la quantité minimale ? Donne ta réponse dans une variable
facture_min
en utilisant ta fonctionfacture
Solution
La variable
facture_min
a pour valeur le résultat renvoyé parfacture(480)
def facture(n): if n < 100: return n * 5 elif n <= 500: return n * 4 else: return n * 3 facture_min = facture(480)
- 3
Quelle est la facture pour la quantité maximale ? Donne ta réponse dans une variable
facture_max
en utilisant ta fonctionfacture
Solution
La variable
facture_max
a pour valeur le résultat renvoyé parfacture(530)
def facture(n): if n < 100: return n * 5 elif n <= 500: return n * 4 else: return n * 3 facture_min = facture(480) facture_max = facture(530)
- 4
Finalement affiche à l'aide de
print
un message du type :La facture du BDE est comprise entre ****€ et ****€.
Utilise une f-string pour remplacer les astérisques par les bonnes valeurs.Solution
Le message à afficher dépend des deux variables
facture_min
etfacture_max
donc l'instructionprint
est située plus bas que ces variables.De plus
facture_min
correspond à la facture pour la quantité minimale (480 t-shirts) mais cela coûte plus cher que d'acheter 530 t-shirts.def facture(n): if n < 100: return n * 5 elif n <= 500: return n * 4 else: return n * 3 facture_min = facture(480) facture_max = facture(530) print(f"La facture du BDE est comprise entre {facture_max}€ et {facture_min}€.")