Comment créer une calculatrice de pourboire et de fractionnement en Python
Création d'une calculatrice de pourboires et de partage de notes en Python
Ce guide vous propose de concevoir une application de calcul de pourboires et de partage de notes en Python. C'est un projet idéal pour consolider vos connaissances en Python. De plus, vous apprendrez à réaliser cette application de deux manières distinctes : d'abord, sous forme d'outil en ligne de commande, puis avec une interface graphique.
Aperçu du projet
Nous allons développer cette application en deux étapes. Initialement, nous créerons un simple script Python qui interagira avec l'utilisateur via le terminal pour récupérer les données et afficher les résultats.
Dans un second temps, nous allons enrichir le programme en lui ajoutant une interface graphique, grâce à la bibliothèque Tkinter.
Spécifications du programme
Le programme nécessitera trois données d'entrée :
- Le montant total de la facture.
- Le pourcentage de pourboire désiré.
- Le nombre de personnes partageant l'addition.
À partir de ces données, le programme calculera et affichera :
- La part de chaque personne sur le montant de la facture.
- La part de chaque personne sur le montant du pourboire.
- La somme totale à payer par chaque personne.
Algorithme de calcul
La calculatrice de pourboire et de partage suivra un processus clair et simple :
- Récupérer les données d'entrée : montant_facture, pourcentage_pourboire et nombre_personnes.
- Calculer le montant total du pourboire en utilisant : montant_facture * pourcentage_pourboire / 100.
- Déterminer la part de chaque personne sur la facture en divisant le montant_facture par le nombre_personnes.
- Calculer la part de chaque personne sur le pourboire en divisant le montant_pourboire par le nombre_personnes.
- Additionner la part de facture et la part de pourboire pour obtenir le montant total à payer par chaque personne.
Prérequis
Pour ce tutoriel, il est essentiel d'avoir une bonne connaissance du langage de programmation Python. La maîtrise des concepts de base, comme les fonctions et les classes, est nécessaire.
Assurez-vous également que Python soit installé sur votre système. Si ce n'est pas le cas, vous pouvez le télécharger depuis le site officiel de Python. Alternativement, vous pouvez utiliser un compilateur Python en ligne pour tester votre code directement dans votre navigateur sans configuration supplémentaire.
Création de la calculatrice en ligne de commande
Création du dossier de projet
Pour commencer, créez un dossier vide sur votre système. Si vous êtes sur Ubuntu 22.04 comme dans cet exemple, vous pouvez utiliser la commande suivante dans votre terminal :
mkdir tip-calculator && cd tip-calculator
Création du fichier Python
Ensuite, créez un fichier de script où vous allez écrire le code Python. Avec la commande touch, cela donne :
touch main.py
Ouverture du fichier de script avec un éditeur de code
Ouvrez maintenant le fichier `main.py` avec votre éditeur de code préféré. Dans cet exemple, nous utilisons l'éditeur de texte en ligne de commande nano :
nano main.py
Récupération des données d'entrée
Ajoutez le code suivant au début de votre fichier pour récupérer les informations nécessaires :
# Récupération du montant de la facture sous forme de nombre à virgule flottante
montant_facture = float(input("Montant de la facture: "))
# Récupération du pourcentage du pourboire sous forme de nombre à virgule flottante
pourcentage_pourboire = float(input("Pourcentage du pourboire: "))
# Récupération du nombre de personnes sous forme de nombre entier
nombre_personnes = int(input("Nombre de personnes: "))
Ce code lit les entrées de l'utilisateur et les convertit en types de données appropriés.
Calcul du montant du pourboire
Calculez le montant total du pourboire en appliquant le pourcentage au montant de la facture :
montant_pourboire = montant_facture * pourcentage_pourboire / 100
Calcul des contributions individuelles à la facture et au pourboire
# Calcul de la part de facture par personne
part_facture = montant_facture / nombre_personnes
# Calcul de la part de pourboire par personne
part_pourboire = montant_pourboire / nombre_personnes
Calcul de la contribution totale
Additionnez maintenant les contributions individuelles :
contribution_totale = part_facture + part_pourboire
Affichage des résultats
Affichez les résultats de calcul à l'utilisateur :
# Affichage des résultats
print("Part de facture par personne: ", part_facture)
print("Part de pourboire par personne: ", part_pourboire)
print("Contribution totale par personne: ", contribution_totale)
Test de la calculatrice de pourboire et de partage
Votre script devrait maintenant ressembler à ceci :
# Récupération du montant de la facture sous forme de nombre à virgule flottante
montant_facture = float(input("Montant de la facture: "))
# Récupération du pourcentage du pourboire sous forme de nombre à virgule flottante
pourcentage_pourboire = float(input("Pourcentage du pourboire: "))
# Récupération du nombre de personnes sous forme de nombre entier
nombre_personnes = int(input("Nombre de personnes: "))
montant_pourboire = montant_facture * pourcentage_pourboire / 100
# Calcul de la part de facture par personne
part_facture = montant_facture / nombre_personnes
# Calcul de la part de pourboire par personne
part_pourboire = montant_pourboire / nombre_personnes
contribution_totale = part_facture + part_pourboire
# Affichage des résultats
print("Part de facture par personne: ", part_facture)
print("Part de pourboire par personne: ", part_pourboire)
print("Contribution totale par personne: ", contribution_totale)
Vous pouvez maintenant tester votre application en exécutant la commande :
python3 main.py

Création de la calculatrice avec interface graphique
Dans cette section, nous allons développer la même application, mais cette fois avec une interface utilisateur graphique. Nous utiliserons pour cela la bibliothèque Tkinter.
Configuration
Tkinter est inclus dans la bibliothèque standard de Python. Elle est normalement installée par défaut lorsque vous installez Python.
Cependant, sous Linux, TKinter peut ne pas être préinstallé pour économiser de l'espace. Si c'est le cas, vous pouvez l'installer avec la commande suivante :
sudo apt-get install python3-tk
Création du fichier de projet
Créez un nouveau fichier pour stocker le code de l'interface graphique et ouvrez-le avec votre éditeur de texte :
touch gui.py
Importation de Tkinter
Ajoutez cette ligne au début de votre fichier pour importer Tkinter :
import tkinter as tk
Création de l'interface utilisateur
Commencez la construction de l'interface graphique avec le code suivant :
# Création de la fenêtre principale
fenetre = tk.Tk()
# Création du titre de la fenêtre
tk.Label(fenetre, text="Calculatrice de Pourboires et Partage").pack()
# Création du champ de saisie pour le montant de la facture
tk.Label(fenetre, text="Montant de la facture").pack()
entree_facture = tk.Entry(fenetre, width=40)
entree_facture.pack()
# Création du champ de saisie pour le pourcentage de pourboire
tk.Label(fenetre, text="Pourcentage de pourboire").pack()
entree_pourboire = tk.Entry(fenetre, width=40)
entree_pourboire.pack()
# Création du champ de saisie pour le nombre de personnes
tk.Label(fenetre, text="Nombre de personnes").pack()
entree_personnes = tk.Entry(fenetre, width=40)
entree_personnes.pack()
# Création du bouton "Calculer"
bouton_calculer = tk.Button(fenetre, text="Calculer")
Ce code crée une fenêtre avec un titre, des champs de saisie pour les trois données nécessaires, et un bouton pour lancer le calcul.
Création de la fonction de calcul
Définissez une fonction pour traiter l'événement du clic sur le bouton. Cette fonction récupérera les valeurs des champs de saisie, effectuera les calculs et affichera les résultats :
def calculer_resultats(event):
# Récupération des entrées et conversion en types appropriés
montant_facture = float(entree_facture.get())
pourcentage_pourboire = float(entree_pourboire.get())
nombre_personnes = int(entree_personnes.get())
# Calcul du montant du pourboire
montant_pourboire = montant_facture * pourcentage_pourboire / 100
# Calcul de la part de facture par personne
part_facture = montant_facture / nombre_personnes
# Calcul de la part de pourboire par personne
part_pourboire = montant_pourboire / nombre_personnes
# Calcul de la contribution totale par personne
contribution_totale = part_facture + part_pourboire
# Création de la chaîne de texte pour l'affichage des résultats
output = f'Facture par personne: {part_facture:.2f} \n Pourboire par personne: {part_pourboire:.2f} \n Total par personne: {contribution_totale:.2f}'
# Affichage des résultats dans une étiquette
tk.Label(fenetre, text=output).pack()
# Mise à jour de la fenêtre
fenetre.update()
La fonction `calculer_resultats` récupère les données, effectue les calculs et affiche les résultats dans une nouvelle étiquette.
Association du gestionnaire d'événements au bouton
Associez la fonction `calculer_resultats` à l'événement de clic sur le bouton en utilisant la méthode `bind` :
bouton_calculer.bind('<Button-1>', calculer_resultats)
bouton_calculer.pack()
Enfin, ajoutez une boucle principale pour maintenir la fenêtre ouverte :
fenetre.mainloop()
Test de la calculatrice avec interface graphique
Vous pouvez maintenant lancer l'application avec :
python3 gui.py
Cela devrait ouvrir une fenêtre similaire à ceci :

Vous pouvez entrer les valeurs et tester la calculatrice :

Conclusion
Ce tutoriel vous a guidé à travers la création d'une calculatrice de pourboires et de partage de note de deux façons. La première version utilise une ligne de commande, tandis que la seconde est une application avec une interface graphique en Tkinter. Ce projet simple est un excellent exercice pour perfectionner vos compétences en Python. Si vous désirez approfondir vos connaissances, vous pouvez consulter des ressources complémentaires comme les cours de Datacamp. Vous pouvez ensuite découvrir comment développer un générateur de mots de passe aléatoires en Python.