PaliSkill
Python intermédiaire

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