Accueil Formations Établissements Mon espace Services Galerie À propos Communauté Portfolio Contact Me contacter

Leçon offerteModule 02 · Leçon 02.045 min

Dialoguer avec l'utilisateur

Parcours 06 : Programmation Python : les bases, pas à pas · Spécialisation

Objectif de la leçon

Demander des informations avec input, les convertir en nombres et afficher des résultats lisibles avec les f-strings.

La leçon, diapositive par diapositive

Diapositive 1 sur 9

Objectif de la leçon

  • Poser une question à l'utilisateur
  • Convertir sa réponse pour calculer
  • Afficher un résultat clair, avec les milliers séparés
Voix off

Jusqu'ici, tes valeurs étaient écrites dans le code. Un vrai programme demande les informations à la personne qui l'utilise : le vendeur, le client, le gérant. Dans cette leçon, ton programme devient interactif. Pour cette leçon, utilise un outil où tu peux taper au clavier pendant que le programme tourne : Thonny, Pydroid 3 et Colab le permettent.

Diapositive 2 sur 9

Poser une question avec input

  • nom = input("Ton prénom : ")
  • print("Bienvenue", nom)
Voix off

La fonction input affiche une question, attend que l'utilisateur tape sa réponse et appuie sur Entrée, puis renvoie ce qu'il a tapé. Ici, la réponse est rangée dans la variable nom. Si Awa tape son prénom, le programme affiche Bienvenue Awa. Le texte placé entre les parenthèses de input est la question affichée. Laisse une espace après les deux-points : sinon, ce que tape l'utilisateur sera collé à la question.

Diapositive 3 sur 9

La fonction input renvoie toujours un texte

  • quantite = input("Quantité : ")
  • print(quantite * 2)
  • Python affiche : 33 si l'utilisateur tape 3
Voix off

Même si l'utilisateur tape 3, input renvoie le texte 3, pas le nombre. Et un texte multiplié par 2 est répété deux fois : Python affiche 33. Le programme ne plante pas, il donne un résultat faux, ce qui est encore plus dangereux. Il passe inaperçu, car 33 ressemble à un nombre : un client qui commande 3 articles risque de payer pour 33. C'est l'erreur que tu corrigeras dans la simulation de ce module.

Diapositive 4 sur 9

Convertir dès la saisie

  • quantite = int(input("Quantité : "))
  • print(quantite * 2)
  • Python affiche : 6 si l'utilisateur tape 3
Voix off

La solution consiste à entourer input avec int. Python lit le texte tapé, le convertit en entier, puis le range dans quantite. Maintenant, 3 fois 2 donne bien 6. Si l'utilisateur tape des lettres, int déclenche une erreur ValueError, et tu apprendras à la gérer au module 6. On écrit donc la conversion au moment même de la saisie. Ainsi, dans tout le reste du programme, quantite est un vrai nombre. Pour un nombre à virgule, on utiliserait float, mais pour une quantité d'articles, int suffit.

Diapositive 5 sur 9

Les f-strings : des variables dans le texte

  • nom = "Awa"
  • total = 75000
  • print(f"{nom}, ton total est de {total} FCFA")
  • Python affiche : Awa, ton total est de 75000 FCFA
Voix off

Une f-string est un texte précédé de la lettre f. Ce qui est entre accolades est remplacé par la valeur de la variable. Pas besoin de convertir le nombre en texte, Python s'en charge. C'est la façon la plus lisible de construire un message. N'oublie pas la lettre f devant les guillemets : sans elle, Python affiche les accolades et le nom de la variable tels quels, au lieu de sa valeur. C'est un oubli très fréquent. Dans les accolades, tu peux même écrire un petit calcul, comme prix fois quantite : Python l'effectue avant d'afficher. Garde quand même les calculs importants dans des variables, c'est plus lisible.

Diapositive 6 sur 9

Séparer les milliers

  • total = 1250000
  • texte = f"{total:,}".replace(",", " ")
  • print(f"Total : {texte} FCFA")
  • Python affiche : Total : 1 250 000 FCFA
Voix off

Le format deux-points virgule, placé dans les accolades, ajoute une virgule tous les trois chiffres, à l'anglaise. La méthode replace remplace ensuite chaque virgule par une espace, à la française. Le client lit tout de suite un million deux cent cinquante mille francs. Le résultat de cette ligne est un texte, prêt à être affiché, pas un nombre. Garde donc ta variable total pour les calculs, et ne fabrique le texte avec les espaces qu'au moment d'afficher.

Diapositive 7 sur 9

Un programme complet : le prix d'une commande

  • prix = int(input("Prix unitaire en FCFA : "))
  • quantite = int(input("Quantité : "))
  • total = prix * quantite
  • texte = f"{total:,}".replace(",", " ")
  • print(f"À payer : {texte} FCFA")
Voix off

Voici la structure de presque tous les programmes : on récupère des données, on les traite, puis on affiche le résultat. Le vendeur tape le prix et la quantité, Python calcule et affiche un total lisible. Avec 125 000 francs et 3 articles, le programme affiche 375 000 FCFA. Teste ce programme avec plusieurs valeurs, y compris une quantité de zéro : le résultat doit être zéro franc. Si tu tapes des lettres, le programme s'arrête : tu apprendras à corriger ce défaut aux modules 3, 4 et 6.

Diapositive 8 sur 9

Essaie maintenant

  • Demande le nom du client et le montant de sa facture
  • Demande la somme qu'il a donnée
  • Affiche la monnaie à rendre, avec les milliers séparés
Voix off

Mets la vidéo en pause et écris ce programme. Il te faut trois input, dont deux convertis avec int, une soustraction et une f-string pour le message final. Essaie-le avec une facture de 135 000 francs payée avec 140 000 : la monnaie à rendre est de 5 000 francs. Pour l'instant, ne t'occupe pas du client qui donne moins que la facture : le module 3 t'apprendra à gérer ce cas.

Diapositive 9 sur 9

À retenir

  • input renvoie toujours un texte : convertis avec int avant de calculer
  • Une f-string insère des variables dans un texte : f"{nom}"
  • Entrée, traitement, sortie : la structure de base d'un programme
Voix off

Avec ces quatre leçons, tu as tout ce qu'il faut pour écrire une vraie calculatrice de prix. C'est justement le lab de ce module. Prends le temps de vérifier chaque résultat à la calculatrice : c'est comme ça qu'on gagne la confiance de ses utilisateurs. Soigne aussi les messages : ce sont eux que voit l'utilisateur, bien plus que ton code.

À retenir

  • input affiche une question et renvoie toujours un texte
  • On convertit la saisie avec int() avant de calculer
  • Une f-string insère des variables dans un texte
  • f"{total:,}".replace(",", " ") sépare les milliers à la française
  • Entrée, traitement, sortie : la structure de base d'un programme

Fais les exercices, le quiz et obtiens ton certificat dans ton espace

Avec ton compte, les deux premiers modules sont offerts : leçons, labs, simulations, quiz et tuteur. Débloque la suite du parcours pour 100 000 GNF. Le certificat vérifiable, délivré à la fin, coûte 399 000 GNF.