Leçon 9 / 9 — Chapitre 6: Chaînes avancées et formatage
Cas pratique : valider et formater des données saisies
Cette dernière leçon combine .isdigit(), une expression régulière et le formatage avancé des f-strings, pour valider puis présenter proprement une commande saisie.
import re
saisie = "riz 5"
correspondance = re.search(r"([a-zA-Z]+) ([0-9]+)", saisie)
if correspondance:
produit = correspondance.group(1)
quantite = int(correspondance.group(2))
print(f"{produit.capitalize():<10}{quantite:>5} unite(s)")
else:
print("Saisie invalide, format attendu : produit quantite")
Ce que fait chaque partie :
- Le motif
([a-zA-Z]+) ([0-9]+)capture deux groupes séparés par des parenthèses : des lettres, puis des chiffres, séparés par un espace. .group(1)et.group(2)récupèrent respectivement le premier et le second groupe capturé (le nom du produit, puis la quantité) —.group()seul, vu précédemment, équivaut à.group(0), le texte entier trouvé.produit.capitalize()met une majuscule au nom du produit (vu dans ce chapitre), et{...:<10}/{...:>5}alignent le résultat en colonnes (également vu dans ce chapitre).
Avec "riz 5", ce code affiche Riz 5 unite(s) (colonnes alignées). Avec une saisie qui ne correspond pas au motif, comme "abc", re.search() renvoie None, et le message d'erreur s'affiche à la place.
À vous de jouer : testez ce code avec une saisie valide de votre choix, puis avec une saisie invalide, et vérifiez que les deux cas s'affichent correctement.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès