3.2 Chaînes formatées
Objectifs d'apprentissage
À la fin de cette section, vous devriez être capable de :
- Utiliser des f-strings pour simplifier la sortie de plusieurs valeurs.
- Formater des nombres avec des zéros initiaux et une précision fixe.
F-strings
Un littéral de chaîne formatée (formatted string literal) (ou f-string) est un littéral de chaîne préfixé par "f" ou "F". Un champ de remplacement (replacement field) est une expression entre accolades ({}) à l'intérieur d'une f-string. Ex. : La chaîne f"Good morning, {first} {last}!" comporte deux champs de remplacement : un pour un prénom et un pour un nom de famille. Les f-strings offrent un moyen pratique de combiner plusieurs valeurs en une seule chaîne.
Concepts en pratique
F-strings de base
Formatage des nombres
Les programmes ont souvent besoin d'afficher des nombres dans un format spécifique. Ex. : Lors de l'affichage de l'heure, les minutes sont formatées sous forme d'entiers à deux chiffres. Si l'heure est 9 et la minute est 5, l'heure est alors « 9:05 » (et non « 9:5 »).
Dans une f-string, un champ de remplacement peut inclure un spécificateur de format introduit par deux-points. Un spécificateur de format (format specifier) définit la manière dont une valeur doit être formatée pour l'affichage. Ex. : Dans la chaîne f"{hour}:{minute:02d}", le spécificateur de format pour minute est 02d.
| Format | Description | Exemple | Résultat |
|---|---|---|---|
|
Entier décimal (format d'entier par défaut). |
|
|
|
Entier décimal, avec des virgules comme séparateurs. |
|
|
|
Entier décimal, d'au moins 10 caractères de large. |
|
|
|
Entier décimal, d'au moins 10 caractères de large, avec des zéros initiaux. |
|
|
|
Nombre à virgule fixe (la valeur par défaut est de 6 décimales). |
|
|
|
Nombre à virgule fixe, arrondi à 4 décimales. |
|
|
|
Nombre à virgule fixe, arrondi à 4 décimales, d'au moins 8 caractères de large. |
|
|
|
Nombre à virgule fixe, arrondi à 4 décimales, d'au moins 8 caractères de large, avec des zéros initiaux. |
|
|
Concepts en pratique
Formatage des nombres
À vous d'essayer
Mad lib (f-string)
Un mad lib est une histoire amusante qui utilise des mots fournis par un utilisateur. Le mad lib suivant est basé sur quatre mots (saisie de l'utilisateur en gras) :
Enter a name: Buster
Enter a noun: dog
Enter an adjective: super
Verb ending in -ing: swimming
Buster, the super dog, likes to go swimming.
La plus grande partie du code de ce mad lib est déjà écrite. Complétez le code ci-dessous en écrivant la f-string.
À vous d'essayer
Calculateur de salaire
Vous venez de décrocher un emploi à temps partiel et vous souhaitez calculer combien d'argent vous allez gagner. Écrivez un programme qui demande l'heure à laquelle vous commencez à travailler, l'heure à laquelle vous vous arrêtez et votre taux horaire (exemple de saisie en gras) :
Starting hour: 9
Starting minute: 30
Stopping hour: 11
Stopping minute: 0
Hourly rate: 15
En fonction des données saisies par l'utilisateur, votre programme doit calculer et afficher les résultats suivants :
Worked 9:30 to 11:00
Total hours: 1.5
Payment: $22.50
Pour cet exercice, vous devez écrire du code qui (1) calcule le salaire total et (2) formate les trois lignes de sortie. Utilisez des f-strings et des spécificateurs de format pour afficher les minutes sur deux chiffres, une décimale pour les heures et deux décimales pour le montant du paiement. Le code de saisie est fourni comme point de départ.
Supposez l'utilisation d'une horloge sur 24 heures. Ex. : 16:15 est utilisé au lieu de 4:15pm.