Exercice 01 : Génération d'un Reçu Formaté
Objectif
Cet exercice a pour but de vous faire utiliser les f-strings pour créer une chaîne de caractères formatée qui ressemble à un reçu de caisse, en utilisant des calculs et des options de formatage.
Énoncé
-
Créez un nouveau fichier Python nommé
receipt_generator.py. -
Déclarez les variables suivantes au début de votre script :
product_name = "Laptop"
quantity = 2
unit_price = 1200.50 -
Effectuez le calcul suivant et stockez le résultat dans une variable
total_price:- Calculez le prix total en multipliant la quantité par le prix unitaire.
-
Générez le reçu :
- En utilisant une seule f-string multi-lignes (
f"""..."""), créez une chaîne de caractères qui ressemble au reçu ci-dessous. - Contraintes de formatage :
- Le prix unitaire et le prix total doivent être affichés avec deux décimales.
- Les noms des champs (
Product,Quantity, etc.) doivent être alignés à gauche sur 10 caractères. - Les valeurs correspondantes doivent être alignées à droite sur 15 caractères.
- En utilisant une seule f-string multi-lignes (
-
Affichez le reçu en utilisant
print().
Résultat Attendu
La sortie de votre script doit être exactement la suivante :
***************************
* STORE RECEIPT *
***************************
Product : Laptop
Quantity : 2
Unit Price: 1200.50
---------------------------
Total : 2401.00
Cliquez ici pour voir un exemple de code de solution
# receipt_generator.py
# 1. Variables
product_name = "Laptop"
quantity = 2
unit_price = 1200.50
# 2. Calcul
total_price = quantity * unit_price
# 3. Génération du reçu avec une f-string multi-lignes
receipt = f"""
***************************
* STORE RECEIPT *
***************************
{'Product':<10}: {product_name:>15}
{'Quantity':<10}: {quantity:>15}
{'Unit Price':<10}: {unit_price:>15.2f}
---------------------------
{'Total':<10}: {total_price:>15.2f}
"""
# 4. Affichage
print(receipt)
Explication des options de formatage :
{'Product':<10}: Aligne le mot "Product" à gauche (<) sur un total de 10 caractères.{product_name:>15}: Aligne la valeur deproduct_nameà droite (>) sur un total de 15 caractères.{unit_price:>15.2f}: Combine les options :>: Aligne à droite.15: Sur 15 caractères au total..2f: Formate le nombre flottant (f) pour n'avoir que 2 chiffres après la virgule.