Contenu principal
Chapitre 3 · Les alternatives › Leçon 5 sur 7

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. 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. 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 fonction facture

    Solution

    La variable facture_min a pour valeur le résultat renvoyé par facture(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. 3

    Quelle est la facture pour la quantité maximale ? Donne ta réponse dans une variable facture_max en utilisant ta fonction facture

    Solution

    La variable facture_max a pour valeur le résultat renvoyé par facture(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. 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 et facture_max donc l'instruction print 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}€.")

Chargement...

Collecte des fichiers...

>>>