Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

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

Tipp- und Split-Rechner in Python
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

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.

Screenshot-from-2023-01-05-19-30-39

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

Screenshot-from-2023-01-05-15-11-29

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:

  1. Empfangen Sie die Eingaben: bill_amount, tip_percentage, number_of_people
  2. Berechnen Sie das Trinkgeld amount durch Multiplikation der bill_amount * tip_percentage / 100
  3. Teilen Sie die bill_amount by number_of_people um den Beitrag jeder Person zur Rechnung zu erhalten.
  4. Teilen Sie die tip_amount by number_of_people um den Beitrag jeder Person zum Trinkgeld zu bekommen.
  5. 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
Screenshot-from-2023-01-05-19-32-16

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:

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

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

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

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.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder