Afficher proprement avec `print` et les f-strings
Tout ce que sait faire `print`
Tu connais print(valeur). Il accepte plusieurs valeurs séparées par des virgules, et met un espace entre elles :
prix = 500
quantite = 3
print("Total :", prix * quantite, "FCFA")
Total : 1500 FCFA
Ici, pas besoin de str(...) : print convertit tout seul chaque valeur pour l'afficher.
- Chaque
printaffiche une ligne. Deuxprintdonnent deux lignes. print()vide affiche une ligne blanche.
Les paramètres sep et end
print a des réglages qu'on écrit après les valeurs, avec un nom :
print("12", "10", "2026", sep="/") # 12/10/2026
print("Chargement", end="...") # n'ajoute pas de retour à la ligne
print("terminé") # Chargement...terminé
Les f-strings
produit = "savon"
total = 1500
print(f"Vente de {produit} : {total} FCFA")
Vente de savon : 1500 FCFA
Python remplace {produit} par la valeur de produit, et {total} par celle de total. Pas de +, pas de str(...). C'est la façon moderne et la plus utilisée.
On peut même mettre un calcul entre les accolades :
print(f"Montant : {prix * quantite} FCFA")
Formater les nombres
Après la valeur, deux-points : puis un format :
| Écriture | Résultat | Effet |
|---|---|---|
f"{12.666666:.2f}" |
12.67 |
2 chiffres après la virgule (f pour float) |
f"{1500000:,}" |
1,500,000 |
séparateur de milliers (à l'anglaise, avec des virgules) |
f"{0.256:.1%}" |
25.6% |
en pourcentage |
Pour avoir des espaces à la française (1 500 000), on remplace les virgules : f"{1500000:,}".replace(",", " ").
Compare les façons d'afficher
Les trois premières lignes affichent la même chose. Laquelle est la plus lisible ? Essaie ensuite de retirer le f de la troisième et relance.
prenom = "Awa"
age = 20
print("Bonjour " + prenom + ", tu as " + str(age) + " ans.")
print("Bonjour", prenom + ", tu as", age, "ans.")
print(f"Bonjour {prenom}, tu as {age} ans.")
moyenne = 38 / 3
print(f"Moyenne : {moyenne:.2f}")
print(f"Prix : {1500000:,} FCFA".replace(",", " "))
print("12", "10", "2026", sep="/")
Commentaires et ordre d'exécution
Les commentaires
Tout ce qui suit un # sur une ligne est ignoré par Python. On s'en sert pour expliquer le pourquoi du code, pas le quoi (le code dit déjà le quoi) :
# Calcul de la facture du client
prix = 500 # en FCFA
remise = 0.10 # 10 % pour les clients fidèles
L'ordre d'exécution
Python lit le fichier de haut en bas, une ligne après l'autre. Une variable doit donc être créée avant d'être utilisée :
print(total) # ERREUR : à cette ligne, total n'existe pas encore
total = 1500
NameError: name 'total' is not defined
Même si total est créé une ligne plus bas, Python ne regarde pas en avance. Il est bête, souviens-toi : il suit l'ordre, point.
Exercice : Ta première f-string
Construis dans phrase le texte Awa a payé 1500 FCFA avec une f-string qui utilise cliente et montant. Puis affiche phrase.
Voir une solution
cliente = "Awa" # donné
montant = 1500 # donné
phrase = f"{cliente} a payé {montant} FCFA"
print(phrase)Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Un ticket de caisse
Affiche exactement ce ticket, sur 4 lignes, en utilisant les variables et des f-strings :
Article : savon
Quantité : 3
Prix unitaire : 500 FCFA
Total : 1500 FCFA
Le total doit être calculé dans l'accolade, pas écrit à la main.
Voir une solution
article = "savon" # donné
quantite = 3 # donné
prix = 500 # donné
print(f"Article : {article}")
print(f"Quantité : {quantite}")
print(f"Prix unitaire : {prix} FCFA")
print(f"Total : {prix * quantite} FCFA")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Celsius en Fahrenheit
Convertis celsius en degrés Fahrenheit dans la variable fahrenheit, avec la formule :
fahrenheit = celsius × 9 / 5 + 32
Puis affiche : 30 °C = 86.0 °F (avec une f-string).
Voir une solution
celsius = 30 # donné
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius} °C = {fahrenheit} °F")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Une moyenne bien arrondie
Calcule la moyenne des trois notes dans moyenne, puis affiche-la avec 2 chiffres après la virgule :
Moyenne : 12.67
Voir une solution
note1 = 12 # donné
note2 = 15 # donné
note3 = 11 # donné
moyenne = (note1 + note2 + note3) / 3
print(f"Moyenne : {moyenne:.2f}")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Un salaire bien lisible
Un salaire mensuel est de salaire FCFA. Calcule dans annuel le salaire sur 12 mois, puis affiche-le avec des espaces entre les milliers :
Salaire annuel : 1 800 000 FCFA
Voir une solution
salaire = 150000 # donné
annuel = salaire * 12
annuel_lisible = f"{annuel:,}".replace(",", " ")
print(f"Salaire annuel : {annuel_lisible} FCFA")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Une date avec `sep`
Affiche la date 21/10/2026 en un seul print, en lui donnant les trois valeurs jour, mois et annee séparées par des virgules, et en utilisant le paramètre sep.
Voir une solution
jour = 21 # donné
mois = 10 # donné
annee = 2026 # donné
print(jour, mois, annee, sep="/")Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Teste-toi
Qu'affiche ce code ?
python nom = "Paul" print("Salut {nom}")
Salut PaulSalut {nom}(bonne réponse)- Une erreur
Salut nom
Sans le f devant les guillemets, les accolades sont du texte normal. Il fallait print(f"Salut {nom}").
Qu'affiche print(f"{7 / 3:.2f}") ?
2.33(bonne réponse)2.33333333333333357 / 3:.2f2
Le calcul est fait dans les accolades, puis :.2f garde 2 chiffres après la virgule.