Lassen Sie uns lernen, wie man einen Tipp- und Split-Rechner in Python erstellt.
Es ist ein großartiges persönliches Projekt, das Sie aufbauen können, um Ihr zu üben Python Kompetenzen. Darüber hinaus zeigt Ihnen dieses Tutorial, wie Sie die Anwendung auf zwei Arten erstellen, erstens als Befehlszeilentool und zweitens als GUI-Tool.
Preview
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.

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

Program Specification
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
Algorithm
Um dies zu erreichen, folgt der Tipp- und Split-Rechner einem sehr einfachen Algorithmus, der unten beschrieben wird:
- Empfangen Sie die Eingaben
: bill_amount
,tip_percentage
,number_of_people
- Berechnen Sie das Trinkgeld
amount
durch Multiplikation derbill_amount
*tip_percentage / 100
- Teilen Sie die
bill_amount
bynumber_of_people
um den Beitrag jeder Person zur Rechnung zu erhalten. - Teilen Sie die
tip_amount
bynumber_of_people
um den Beitrag jeder Person zum Trinkgeld zu bekommen. - Fügen Sie zum Schluss die Beiträge zur Rechnung und das Trinkgeld hinzu, um den zu zahlenden Gesamtbetrag zu erhalten.
Prerequisites
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 zu den Python-Website und lade es herunter. Alternativ hat Geekflare eine Online-Python-Compiler wo Sie Ihren Python-Code im Browser ausführen können, ohne dass eine Umgebung eingerichtet werden muss.
Building the Calculator with a Command Line Interface
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 die touch
Befehl dazu:
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 verwenden nano
Das ist ein Terminal-basierter 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

Building the Tip and Split Calculator with 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 Beschriftungen und Eingabefelder für die drei Eingaben: bill_amount
, tip_percentage
funktioniert 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>
'. 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 auf mainloop
Methode der window
Objekt.
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:

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

Zusammenfassung
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 eine Datacamp-Kurs.
Als nächstes können Sie auschecken wie man einen zufälligen Passwortgenerator in Python erstellt.