So erstellen Sie einen Tip- und Split-Rechner in Python
Veröffentlicht: 2023-01-06Lassen 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.
Zweitens werden wir dem Programm mit Tkinter eine grafische Benutzeroberfläche geben.
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:
- Empfangen Sie die Eingaben
: bill_amount
,tip_percentage
,number_of_people
- Berechnen Sie den Trinkgeldbetrag, indem
bill_amount
amount
tip_percentage / 100
multiplizieren - Teilen
bill_amount
durchnumber_of_people
, um den Beitrag jeder Person zur Rechnung zu erhalten. - Teilen
tip_amount
durchnumber_of_people
, um den Beitrag jeder Person zum Trinkgeld zu erhalten. - 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
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:
Sie können den Rechner mit Beispieleingaben ausführen:
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.