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

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.

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 Sie bill_amount * tip_percentage / 100 multiplizieren
  • Teilen Sie bill_amount durch number_of_people, um den Beitrag jeder Person zur Rechnung zu erhalten.
  • Teilen Sie tip_amount durch number_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 verfügt wdzwdz über 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.

      So erstellen Sie 3D-Effekte in CapCut

    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.

      So melden Sie sich nach einer bestimmten Zeit der Inaktivität von Ihrem Mac ab

    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.

      Beste Python-Bibliotheken für Data Scientists

    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 „“ 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 Fensterobjekts auf.

    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.