Premier mini-projet Python : une calculatrice en console
Premier mini-projet Python : une calculatrice en console
Quand on débute en Python, on apprend souvent les bases séparément : les variables, les entrées utilisateur, les conditions, les fonctions ou encore la gestion des erreurs. Le problème, c’est qu’au début, tout cela peut sembler un peu abstrait. Un mini-projet simple permet justement de relier ces briques entre elles.
Dans ce tutoriel, vous allez créer une calculatrice en console. Ce n’est pas une application compliquée, mais c’est un excellent exercice pour comprendre comment Python fonctionne dans un cas concret. Vous allez demander des valeurs à l’utilisateur, choisir une opération, afficher un résultat et éviter quelques erreurs fréquentes, comme la division par zéro ou la saisie d’un texte à la place d’un nombre.
Ce projet est idéal pour un vrai débutant, car il utilise uniquement des notions fondamentales. À la fin, vous aurez un programme utile, lisible et facile à améliorer.
Ce que vous allez apprendre avec ce mini-projet
- Utiliser input() pour récupérer une saisie clavier
- Convertir du texte en nombre avec int() ou float()
- Employer des conditions if / elif / else
- Créer une fonction simple
- Gérer les erreurs les plus courantes avec try / except
- Afficher un résultat propre dans la console
Autrement dit, vous allez assembler plusieurs bases de Python dans un seul programme. C’est exactement le type d’exercice qui aide à progresser rapidement.
Avant de commencer
Pour suivre ce tutoriel, il vous faut simplement :
- Python installé sur votre ordinateur
- Un éditeur de code comme Visual Studio Code, Thonny ou même IDLE
- Un fichier, par exemple calculatrice.py
Si vous utilisez le terminal, vous pourrez lancer le script avec une commande du type :
python calculatrice.py
Sur certains systèmes, la commande peut être python3 à la place de python.
Étape 1 : comprendre le fonctionnement de la calculatrice
Notre programme va suivre une logique très simple :
- Demander un premier nombre
- Demander un deuxième nombre
- Demander une opération : addition, soustraction, multiplication ou division
- Calculer le résultat
- Afficher ce résultat
Voici un exemple d’utilisation réelle dans la console :
Entrez le premier nombre : 12
Entrez le deuxième nombre : 3
Choisissez une opération (+, -, *, /) : /
Résultat : 4.0
Ce type de programme paraît petit, mais il contient déjà l’essentiel d’une application interactive.
Étape 2 : écrire une première version très simple
Commençons par une version directe, sans gestion d’erreur avancée :
nombre1 = float(input("Entrez le premier nombre : "))
nombre2 = float(input("Entrez le deuxième nombre : "))
operation = input("Choisissez une opération (+, -, *, /) : ")
if operation == "+":
resultat = nombre1 + nombre2
elif operation == "-":
resultat = nombre1 - nombre2
elif operation == "*":
resultat = nombre1 * nombre2
elif operation == "/":
resultat = nombre1 / nombre2
else:
resultat = "Opération invalide"
print("Résultat :", resultat)
Cette première version est très utile pour comprendre la structure générale.
Ce que fait ce code
- input() récupère ce que l’utilisateur tape au clavier
- float() transforme la saisie en nombre décimal
- if / elif / else choisit l’opération à effectuer
- print() affiche le résultat final
Le choix de float() plutôt que int() permet d’accepter des valeurs comme 2.5, 7.2 ou 10.0. C’est plus souple pour une calculatrice.
Premier test et premières limites
Si vous lancez ce script, il fonctionne dans les cas simples. Par exemple :
Entrez le premier nombre : 8
Entrez le deuxième nombre : 2
Choisissez une opération (+, -, *, /) : *
Résultat : 16.0
Mais cette version a deux gros défauts :
- Si l’utilisateur tape bonjour au lieu d’un nombre, le programme plante
- Si l’utilisateur essaie de diviser par 0, le programme plante aussi
Et justement, apprendre à repérer puis corriger ces cas fait partie du vrai travail de programmation.
Étape 3 : éviter l’erreur quand la saisie n’est pas un nombre
En Python, input() renvoie toujours du texte. Si vous essayez de faire float("bonjour"), Python lève une erreur de type ValueError. C’est normal : le texte ne peut pas être converti en nombre.
On peut gérer cela avec try / except :
try:
nombre1 = float(input("Entrez le premier nombre : "))
nombre2 = float(input("Entrez le deuxième nombre : "))
except ValueError:
print("Erreur : vous devez entrer des nombres.")
Ce bloc évite un plantage brutal. Si la conversion échoue, le message d’erreur est affiché proprement.
Mais dans cette forme, le programme ne va pas encore très loin. Pour mieux organiser le projet, il est préférable de créer une fonction.
Étape 4 : organiser le code avec une fonction
Une fonction permet de regrouper la logique du programme dans un bloc réutilisable. Même sur un petit projet, c’est une bonne habitude.
Voici une version plus propre :
def calculatrice():
try:
nombre1 = float(input("Entrez le premier nombre : "))
nombre2 = float(input("Entrez le deuxième nombre : "))
except ValueError:
print("Erreur : vous devez entrer des nombres.")
return
operation = input("Choisissez une opération (+, -, *, /) : ")
if operation == "+":
resultat = nombre1 + nombre2
elif operation == "-":
resultat = nombre1 - nombre2
elif operation == "*":
resultat = nombre1 * nombre2
elif operation == "/":
resultat = nombre1 / nombre2
else:
print("Erreur : opération invalide.")
return
print("Résultat :", resultat)
calculatrice()
Cette version est déjà meilleure :
- Le code est regroupé dans une fonction claire
- Les erreurs de saisie sont prises en compte
- Le programme affiche un message lisible au lieu d’une longue erreur technique
Étape 5 : gérer la division par zéro
En mathématiques, on ne peut pas diviser par zéro. En Python, une instruction comme 10 / 0 provoque une erreur ZeroDivisionError.
Pour l’éviter, on peut vérifier la valeur du deuxième nombre avant la division :
def calculatrice():
try:
nombre1 = float(input("Entrez le premier nombre : "))
nombre2 = float(input("Entrez le deuxième nombre : "))
except ValueError:
print("Erreur : vous devez entrer des nombres.")
return
operation = input("Choisissez une opération (+, -, *, /) : ")
if operation == "+":
resultat = nombre1 + nombre2
elif operation == "-":
resultat = nombre1 - nombre2
elif operation == "*":
resultat = nombre1 * nombre2
elif operation == "/":
if nombre2 == 0:
print("Erreur : division par zéro impossible.")
return
resultat = nombre1 / nombre2
else:
print("Erreur : opération invalide.")
return
print("Résultat :", resultat)
calculatrice()
Vous avez maintenant une vraie mini-application robuste pour un niveau débutant.
Version finale conseillée
Voici une version finale simple, claire et adaptée à un premier projet :
def calculatrice():
print("=== Calculatrice Python ===")
try:
nombre1 = float(input("Entrez le premier nombre : "))
nombre2 = float(input("Entrez le deuxième nombre : "))
except ValueError:
print("Erreur : vous devez entrer des nombres valides.")
return
operation = input("Choisissez une opération (+, -, *, /) : ")
if operation == "+":
resultat = nombre1 + nombre2
elif operation == "-":
resultat = nombre1 - nombre2
elif operation == "*":
resultat = nombre1 * nombre2
elif operation == "/":
if nombre2 == 0:
print("Erreur : division par zéro impossible.")
return
resultat = nombre1 / nombre2
else:
print("Erreur : opération non reconnue.")
return
print("Résultat :", resultat)
calculatrice()
Exemples concrets de tests à faire
Quand on apprend à programmer, il ne suffit pas d’écrire le code. Il faut aussi le tester. Voici plusieurs cas très concrets à essayer dans votre console.
Test 1 : addition simple
Entrez le premier nombre : 5
Entrez le deuxième nombre : 7
Choisissez une opération (+, -, *, /) : +
Résultat : 12.0
Test 2 : nombre décimal
Entrez le premier nombre : 2.5
Entrez le deuxième nombre : 4
Choisissez une opération (+, -, *, /) : *
Résultat : 10.0
Test 3 : division par zéro
Entrez le premier nombre : 9
Entrez le deuxième nombre : 0
Choisissez une opération (+, -, *, /) : /
Erreur : division par zéro impossible.
Test 4 : saisie invalide
Entrez le premier nombre : abc
Erreur : vous devez entrer des nombres valides.
Test 5 : opération inconnue
Entrez le premier nombre : 10
Entrez le deuxième nombre : 3
Choisissez une opération (+, -, *, /) : %
Erreur : opération non reconnue.
Ces tests vous obligent à vérifier le comportement réel du programme, pas seulement le cas idéal.
Erreurs fréquentes chez les débutants
Ce mini-projet est simple, mais certaines erreurs reviennent très souvent. Les comprendre dès maintenant vous fera gagner du temps.
Confondre texte et nombre
Une saisie utilisateur est toujours une chaîne de caractères. Si vous faites :
nombre1 = input("Entrez un nombre : ")
nombre2 = input("Entrez un autre nombre : ")
print(nombre1 + nombre2)
Avec 2 et 3, Python affichera 23 et non 5. Pourquoi ? Parce qu’il colle deux textes au lieu d’additionner deux nombres.
La correction consiste à convertir les valeurs :
nombre1 = float(input("Entrez un nombre : "))
nombre2 = float(input("Entrez un autre nombre : "))
print(nombre1 + nombre2)
Oublier les deux-points dans les conditions
En Python, les blocs if, elif, else, def ou try doivent se terminer par :. C’est une erreur très classique au début.
Mal indenter le code
Python utilise l’indentation pour définir les blocs. Si une ligne n’est pas alignée correctement, le programme peut produire une erreur ou se comporter de façon inattendue.
Dans Visual Studio Code ou Thonny, l’indentation est généralement facilitée par la touche Tab et l’auto-formatage visuel.
Utiliser = au lieu de ==
Dans une condition, == sert à comparer. Le signe = sert à affecter une valeur à une variable.
Exemple correct :
if operation == "+":
Exemple incorrect :
if operation = "+":
Pourquoi ce projet est utile pour progresser
Une calculatrice en console peut sembler modeste, mais elle coche beaucoup de cases importantes pour un débutant :
- Elle donne un résultat visible tout de suite
- Elle oblige à manipuler des données entrées par un humain
- Elle montre qu’un programme doit gérer les cas d’erreur
- Elle permet d’améliorer le code étape par étape
C’est exactement l’esprit de Python Pasclair : avancer avec des projets courts, compréhensibles et vraiment formateurs.
Améliorations simples à essayer ensuite
Une fois la version de base terminée, vous pouvez faire évoluer votre calculatrice. Voici quelques pistes réalistes pour continuer à pratiquer.
Permettre plusieurs calculs à la suite
Au lieu de lancer le programme une seule fois, vous pouvez utiliser une boucle while pour proposer un nouveau calcul tant que l’utilisateur répond o ou oui.
Ce sera un très bon exercice pour apprendre les boucles sur un cas concret.
Ajouter d’autres opérations
Vous pouvez intégrer :
- Le modulo avec %
- La puissance avec **
Attention : si vous ajoutez une opération, il faut aussi penser aux messages affichés et aux tests correspondants.
Afficher un résultat plus propre
Parfois, Python affiche beaucoup de décimales selon le calcul. Vous pouvez améliorer la présentation avec un affichage formaté. Par exemple, un résultat comme 3.3333333333333335 peut être rendu plus lisible selon vos besoins.
Pour un débutant, ce n’est pas obligatoire, mais c’est une bonne piste de progression.
Créer une fonction par opération
Vous pouvez séparer votre code en plusieurs fonctions :
- une fonction pour additionner
- une fonction pour soustraire
- une fonction pour multiplier
- une fonction pour diviser
Ce découpage devient très intéressant dès que le projet grandit.
Outils utiles pour pratiquer ce projet
Si vous débutez, certains outils rendent l’apprentissage plus confortable :
- Thonny : très apprécié pour apprendre Python, avec une interface simple
- Visual Studio Code : très utilisé, avec extension Python disponible
- IDLE : fourni avec Python sur de nombreuses installations
- Python.org : pour télécharger Python et consulter la documentation officielle
La documentation officielle de Python reste une référence sérieuse pour vérifier le comportement de fonctions comme input(), float() ou les exceptions standards.
Ce qu’il faut retenir
Avec ce premier mini-projet Python, vous avez construit une application console complète à partir de notions de base. Vous avez vu comment :
- récupérer une saisie utilisateur,
- convertir cette saisie en nombres,
- choisir un traitement avec des conditions,
- afficher un résultat,
- et éviter des erreurs fréquentes.
Ce type de projet est court, mais il a une vraie valeur pédagogique. Il vous apprend à écrire un programme qui fonctionne dans la vraie vie, avec de vraies saisies, de vraies erreurs et de vraies décisions à prendre dans le code.
Si vous voulez progresser en programmation Python pour débutant, la meilleure méthode reste souvent la même : apprendre une notion, puis l’utiliser dans un mini-projet concret. La calculatrice en console est un excellent premier pas.
Vous pouvez maintenant passer à l’étape suivante : améliorer ce script, ajouter une boucle, proposer plus d’opérations ou transformer ce mini-projet en une version plus avancée. C’est comme cela qu’on construit de vrais réflexes de développeur, petit bout de code par petit bout de code.