So erstellen Sie einen Tip- und Split-Rechner in Python

Veröffentlicht: 2023-01-06

Lassen Sie uns lernen, wie man einen Tipp- und Split-Rechner in Python erstellt.

Es ist ein großartiges persönliches Projekt, um Ihre Python-Fähigkeiten zu üben. Darüber hinaus zeigt Ihnen dieses Tutorial, wie Sie die Anwendung auf zwei Arten erstellen, erstens als Befehlszeilentool und zweitens als GUI-Tool.

Vorschau

Wir werden die Anwendung auf zwei Arten erstellen. Zuerst erstellen wir ein einfaches Python-Shell-Skript, das den Benutzer zur Eingabe auffordert und die Ausgabe schreibt.

Screenshot vom 39.05.2023, 19.30

Zweitens werden wir dem Programm mit Tkinter eine grafische Benutzeroberfläche geben.

Screenshot vom 29.11.2023

Programmspezifikation

Das Programm erhält drei Eingaben:

  • Der Rechnungsbetrag
  • Der Trinkgeldprozentsatz
  • Die Anzahl der Personen, die sich die Rechnung teilen

Unter Verwendung dieser Eingaben berechnet das Programm die folgende Ausgabe:

  • Der Beitrag jeder Person zur Rechnung
  • Der Beitrag jeder Person zum Trinkgeld
  • Der Gesamtbeitrag jeder Person

Algorithmus

Um dies zu erreichen, folgt der Tipp- und Split-Rechner einem sehr einfachen Algorithmus, der unten beschrieben wird:

  1. Empfangen Sie die Eingaben : bill_amount , tip_percentage , number_of_people
  2. Berechnen Sie den Trinkgeldbetrag, indem bill_amount amount tip_percentage / 100 multiplizieren
  3. Teilen bill_amount durch number_of_people , um den Beitrag jeder Person zur Rechnung zu erhalten.
  4. Teilen tip_amount durch number_of_people , um den Beitrag jeder Person zum Trinkgeld zu erhalten.
  5. Fügen Sie zum Schluss die Beiträge zur Rechnung und das Trinkgeld hinzu, um den zu zahlenden Gesamtbetrag zu erhalten.

Voraussetzungen

Um diesem Tutorial zu folgen, sollten Sie die Programmiersprache Python kennen und verstehen. Für dieses Tutorial sind Kenntnisse der grundlegenden Konzepte, einschließlich Funktionen und Klassen, erforderlich.

Außerdem sollte Python auf Ihrem System installiert sein. Wenn dies nicht der Fall ist, gehen Sie zur Python-Website und laden Sie sie herunter. Alternativ hat Geekflare einen Online-Python-Compiler, mit dem Sie Ihren Python-Code im Browser ausführen können, ohne dass eine Umgebung eingerichtet werden muss.

Erstellen des Rechners mit einer Befehlszeilenschnittstelle

Erstellen Sie einen Projektordner

Navigieren Sie zunächst zu einem leeren Ordner in Ihrem System. In meinem Fall verwende ich Ubuntu 22.04, um also einen Ordner zu erstellen und mit dem Terminal dorthin zu navigieren; Ich muss folgenden Befehl eingeben:

 mkdir tip-calculator && cd tip-calculator

Erstellen Sie die Python-Datei

Erstellen Sie als Nächstes die Skriptdatei, in der wir das Python-Skript schreiben werden. In meinem Fall verwende ich dazu den touch Befehl:

 touch main.py

Öffnen Sie die Skriptdatei mit Ihrem bevorzugten Code-Editor

Um mit dem Schreiben des Codes in das Skript zu beginnen, öffnen Sie die Datei mit Ihrem bevorzugten Code-Editor. Ich werde nano verwenden, einen terminalbasierten Texteditor.

 nano main.py

Empfangen Sie die Eingabe

Nachdem dies erledigt ist, können wir die folgenden Codezeilen am Anfang der Datei hinzufügen:

 # Receiving input for bill amount as a floating point number bill_amount = float(input("Bill amount: ")) # Receiving input for the tip percentage as a floating point number tip_percentage = float(input("Tip percentage: ")) # Receiving the input for the number of people as an integer number_of_people = int(input("Number of people: "))

Grundsätzlich empfängt dies die Eingabe und wandelt den Datentyp jeder Eingabe von einer Zeichenfolge in den am besten geeigneten Typ um.

Berechnen Sie den Trinkgeldbetrag

Als nächstes berechnen wir den Trinkgeldbetrag, indem wir den Trinkgeldprozentsatz mit dem Rechnungsbetrag multiplizieren.

 tip_amount = bill_amount * tip_percentage / 100

Teilen Sie die Rechnung und das Trinkgeld, um den Beitrag jeder Person für die beiden zu erhalten

 # Calculating each person's bill contribution bill_contribution = bill_amount / number_of_people # Calculating each person's tip contribution tip_contribution = tip_amount / number_of_people

Berechnen Sie den Gesamtbeitrag

Als nächstes addieren Sie die einzelnen Beiträge, um den Gesamtbeitrag pro Person zu ermitteln.

 total_contribution = bill_contribution + tip_contribution

Zeigen Sie die Ergebnisse an

Zuletzt geben Sie die Ergebnisse an den Benutzer aus.

 # Displayinnng the results print("Bill contribution per person: ", bill_contribution) print("Tip contribution per person: ", tip_contribution) print("Total contribution per person: ", total_contribution)

Testen des Tipp- und Split-Rechners

Schließlich sollte Ihre Skriptdatei so aussehen:

 # Receiving input for bill amount as a floating point number bill_amount = float(input("Bill amount: ")) # Receiving input for the tip percentage as a floating point number tip_percentage = float(input("Tip percentage: ")) # Receiving the input for the number of people as an integer number_of_people = int(input("Number of people: ")) tip_amount = bill_amount * tip_percentage / 100 # Calculating each person's bill contribution bill_contribution = bill_amount / number_of_people # Calculating each person's tip contribution tip_contribution = tip_amount / number_of_people total_contribution = bill_contribution + tip_contribution # Displaying the results print("Bill contribution per person: ", bill_contribution) print("Tip contribution per person: ", tip_contribution) print("Total contribution per person: ", total_contribution)

An dieser Stelle können Sie Ihre Anwendung mit dem folgenden Befehl testen:

 python3 main.py
Screenshot-vom-16.01.05-19-32-16.2023

Erstellen des Tipp- und Split-Rechners mit GUI

Im nächsten Teil dieses Tutorials implementieren wir dieselbe Anwendung, jedoch mit einer grafischen Benutzeroberfläche. Um die GUI zu erstellen, verwenden wir ein Paket namens Tkinter.

Einrichten

Tkinter ist ein Paket, das in die Standardbibliothek von Python integriert ist. Dies bedeutet, dass es standardmäßig installiert wurde, als Sie Python installiert haben.

Auf Linux-Computern mit standardmäßig installiertem Python ist TKinter jedoch nicht vorinstalliert, um Platz zu sparen. Daher müssen Sie es manuell mit dem folgenden Befehl installieren:

 sudo apt-get install python3-tk

Erstellen Sie eine Projektdatei

Erstellen Sie zunächst eine Datei, in der das Python-Skript gespeichert wird. Nachdem Sie die Datei erstellt haben, öffnen Sie sie mit Ihrem bevorzugten Texteditor.

 touch gui.py

Tkinter importieren

Importieren Sie als Nächstes das Tkinter-Paket, indem Sie die folgende Zeile am Anfang der Datei hinzufügen.

 import tkinter from tk

Erstellen Sie die Benutzeroberfläche

Dann können wir mit der Erstellung der Benutzeroberfläche beginnen.

 # Creating the window window = tk.Tk() # Creating the Window title tk.Label(text="Tip and Split Calculator").pack() # Create an input field tk.Label(text="Enter bill amount").pack() ent_bill = tk.Entry(width=40) ent_bill.pack() # Create and entry for the tip percentage tk.Label(text="Enter tip percentage").pack() ent_tip = tk.Entry(width=40) ent_tip.pack() # Create an entry for the number of people tk.Label(text="Enter the number of people").pack() ent_people = tk.Entry(width=40) ent_people.pack() # Create the Enter button btn_enter = tk.Button(text="Enter")

Der obige Code hat ein Fenster erstellt, das alle Benutzeroberflächen-Widgets enthält. Außerdem wurde ein Label erstellt, das als Titel des Fensters dienen wird.

Als nächstes erstellte es Labels und Eingabefelder für die drei Eingaben: bill_amount , tip_percentage und number_of_people . Schließlich wurde eine Schaltfläche erstellt, auf die der Benutzer klickt, um die Berechnung auszuführen.

Erstellen Sie eine Funktion zum Berechnen der Ausgaben

Danach können wir eine Funktion erstellen, die den Klick auf die Eingabetaste verarbeitet. Diese Funktion nimmt die Werte der Eingabefelder und verwendet sie, um die Ausgaben unter Verwendung des zuvor erwähnten Algorithmus zu berechnen. Zuletzt wird ein Label erstellt, um die Ausgabe anzuzeigen und das Fenster zu aktualisieren.

 def handle_click(event): # Collecting the inputs from the entry fields using the get method # Also type casting the inputs from the default string data type bill_amount = float(ent_bill.get()) tip_percentage = float(ent_tip.get()) number_of_people = int(ent_people.get()) # Calcuating the amount to be paid as a tip tip_amount = bill_amount * tip_percentage / 100 # Calculating the bill contribution of each person at the table bill_contribution = bill_amount / number_of_people # Calculating the tip contribution of each person at the table tip_contribution = tip_amount / number_of_people # Calculating the total contribution of each person total_contribution = bill_contribution + tip_contribution # Creating the output string output = f'Bill per person: {bill_contribution} \n Tip per person: {tip_contribution} \n Total per person: {total_contribution}' # Creating a label for the output text tk.Label(text=output).pack() # Updating the window to reflect the UI changes window.update()

Der Code in der obigen Funktion wurde durch Kommentare erklärt, die jeden wichtigen Schritt erklären.

Anhängen des Event-Handlers an die Schaltfläche

Als Nächstes binden wir den Event-Handler an das Click-Event der Schaltfläche. Das Schaltflächenklickereignis in Tkinter wird durch die Zeichenfolge „ <Button-1> “ dargestellt. Um das Ereignis an den Ereignishandler zu binden, verwenden wir die Methode bind des Buttons. Fügen Sie diese Codezeile unter der Funktionsdefinition hinzu:

 btn_enter.bind('<Button-1>', handle_click) btn_enter.pack()

Um das Fenster am Laufen zu halten, rufen wir schließlich die mainloop Methode des window .

 window.mainloop()

Und wir sind fertig!

Testen des Tipp- und Split-Rechners

Sie können die Anwendung mit dem folgenden Befehl ausführen:

 python3 gui.py

Dies sollte das Fenster wie folgt öffnen:

Screenshot vom 2023-01-05-20-27-26

Sie können den Rechner mit Beispieleingaben ausführen:

Screenshot-vom-2023-01-05-20-29-09

Letzte Worte

In diesem Tutorial haben wir auf zwei Arten einen Tipp- und Split-Rechner erstellt. Die erste verwendet ein Terminal-basiertes CLI-Tool. Das zweite ist ein GUI-Tool, das Pythons Tkinter verwendet. Dieses Tutorial zeigt, wie Sie ein einfaches Python-Projekt erstellen. Wenn Sie Ihre Python-Kenntnisse auffrischen oder aufpolieren müssen, finden Sie hier einen Datacamp-Kurs.

Als Nächstes können Sie sich ansehen, wie Sie einen Zufallskennwortgenerator in Python erstellen.