Projet

Premier mini-projet Python : une calculatrice en console

Par Julien Mercier

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.