ParcoursOuvrir l'appli

Afficher proprement avec `print` et les f-strings

Python, les bases · 40 min

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.

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}")
  1. Salut Paul
  2. Salut {nom} (bonne réponse)
  3. Une erreur
  4. 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}") ?
  1. 2.33 (bonne réponse)
  2. 2.3333333333333335
  3. 7 / 3:.2f
  4. 2

Le calcul est fait dans les accolades, puis :.2f garde 2 chiffres après la virgule.