Tipp- és osztott számológép létrehozása Pythonban

Tanuljuk meg, hogyan hozhat létre Tip és Split számológépet Pythonban.

Ez egy nagyszerű személyes projekt, amelyet Python-készségeid gyakorlására készíthetsz. Ezenkívül ez az oktatóanyag megtanítja Önnek, hogyan hozhatja létre az alkalmazást kétféle módon, először parancssori eszközként, másodszor pedig grafikus felhasználói felület eszközként.

Előnézet

Az alkalmazást kétféleképpen készítjük el. Először is készítünk egy egyszerű Python shell szkriptet, amely bekéri a felhasználót, és megírja a kimenetet.

Másodszor, a programnak grafikus felhasználói felületet adunk a Tkinter segítségével.

Program specifikáció

A program három bemenetet kap:

  • A számla összege
  • A borravaló százaléka
  • A számlát megosztók száma

Ezen bemenetek felhasználásával a program a következő kimenetet számítja ki:

  • Minden személy hozzájárulása a számlához
  • Mindenki hozzájárulása a borravalóhoz
  • Minden személy teljes hozzájárulása

Algoritmus

Ennek eléréséhez a Tip- és Split-kalkulátor egy nagyon egyszerű algoritmust követ, amelyet az alábbiakban vázolunk fel:

  • Fogadja a következő adatokat: bill_amount, tip_percentage, number_of_people
  • Számítsa ki a borravaló összegét a bill_amount * tip_percentage / 100 szorzatával
  • Osszuk el a számlaösszeget az emberek_számával, hogy megkapjuk az egyes személyek hozzájárulását a számlához.
  • Ossza el a borravaló összegét az emberek_számával, hogy megkapja az egyes személyek hozzájárulását a borravalóhoz.
  • Végül adja hozzá a járulékokat a számlához és a borravalót, hogy megkapja a teljes fizetendő összeget.
  • Előfeltételek

    Az oktatóanyag követéséhez ismernie kell és értenie kell a Python programozási nyelvet. Ehhez az oktatóanyaghoz az alapvető fogalmak ismerete szükséges, beleértve a függvényeket és osztályokat.

      A 6 legjobb kriptovaluta bányászati ​​eszköz Linuxhoz

    Ezenkívül telepítenie kell a Pythont a rendszerére. Ha nem, menjen a Python webhelyére, és töltse le. Alternatív megoldásként a etoppc.com rendelkezik egy online Python fordítóval, ahol a Python-kódot a böngészőben futtathatja környezetbeállítás nélkül.

    A számológép felépítése parancssori felülettel

    Hozzon létre egy projekt mappát

    Kezdésként navigáljon egy üres mappába a rendszerben. Az én esetemben Ubuntu 22.04-et használok, ezért hozzunk létre egy mappát, és navigáljunk hozzá a terminál segítségével; A következő parancsot kell megadnom:

    mkdir tip-calculator && cd tip-calculator

    Hozd létre a Python fájlt

    Ezután hozzuk létre a szkriptfájlt, ahová a Python szkriptet írjuk. Az én esetemben a touch parancsot fogom használni ehhez:

    touch main.py

    Nyissa meg a Script fájlt a Kedvenc kódszerkesztővel

    A kód írásának megkezdéséhez nyissa meg a fájlt kedvenc kódszerkesztőjével. A nano-t fogom használni, ami egy terminál alapú szövegszerkesztő.

    nano main.py

    Fogadja a bemenetet

    Ha ez megtörtént, hozzáadhatjuk a következő kódsorokat a fájl tetejéhez:

    # 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: "))

    Alapvetően ez fogadja a bemenetet, és az egyes bemenetek adattípusát egy karakterláncból a legmegfelelőbb típusba önti.

    Számítsa ki a borravaló összegét

    Ezután kiszámítjuk a borravaló összegét úgy, hogy megszorozzuk a borravaló százalékát a számla összegével.

    tip_amount = bill_amount * tip_percentage / 100

    Ossza meg a számlát és a borravalót, hogy mindenki hozzájárulását megkapja a kettőhöz

    # 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

    Számítsa ki a teljes hozzájárulást

    Ezután adja hozzá az egyéni hozzájárulásokat a személyenkénti teljes hozzájárulás meghatározásához.

    total_contribution = bill_contribution + tip_contribution

    Jelenítse meg az Eredményeket

    Végül adja ki az eredményeket a felhasználónak.

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

    A Tip és Split kalkulátor tesztelése

    Végül a szkriptfájlnak így kell kinéznie:

    # 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)

    Ezen a ponton nyugodtan tesztelje az alkalmazást a következő paranccsal:

    python3 main.py

    Tipp és felosztás kalkulátor készítése grafikus felhasználói felülettel

    Az oktatóanyag következő részében ugyanazt az alkalmazást fogjuk megvalósítani, de grafikus felhasználói felülettel. A grafikus felület felépítéséhez a Tkinter nevű csomagot fogjuk használni.

      PostgreSQL adatbázis-kiszolgáló beállítása Webmin segítségével az Ubuntu szerveren

    Felállítása

    A Tkinter a Python szabványos könyvtárába beépített csomag. Ez azt jelenti, hogy a Python telepítésekor alapértelmezés szerint telepítve volt.

    Azokon a Linuxos gépeken, amelyeken alapértelmezés szerint telepítve van a Python, a TKinter nincs előtelepítve a helytakarékosság érdekében. Ezért manuálisan kell telepítenie a következő paranccsal:

    sudo apt-get install python3-tk

    Hozzon létre egy projektfájlt

    Kezdésként hozzon létre egy fájlt, amelyben a Python szkript tárolódik. A fájl létrehozása után nyissa meg a kívánt szövegszerkesztővel.

    touch gui.py

    Importálja a Tkintert

    Ezután importálja a Tkinter csomagot a következő sor hozzáadásával a fájl tetejére.

    import tkinter from tk

    Hozza létre a felhasználói felületet

    Ezután megkezdhetjük a felhasználói felület létrehozását.

    # 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")

    A fenti kód egy ablakot hozott létre, amely tartalmazza az összes felhasználói felület widgetet. Ezenkívül létrehozott egy címkét, amely az ablak címeként fog szolgálni.

      Telnetet keres az RHEL 8-on? Próbáld ki az nc-t

    Ezután címkéket és beviteli mezőket hozott létre a három bemenethez: bill_amount, tip_percentage és number_of_people. Végül létrehozott egy gombot, amelyre a felhasználó rákattint a számítás futtatásához.

    Hozzon létre egy függvényt a kimenetek kiszámításához

    Ezek után létrehozhatunk egy függvényt az Enter gomb megnyomásának kezelésére. Ez a függvény felveszi a beviteli mezők értékeit, és ezek alapján számítja ki a kimeneteket a korábban említett algoritmus segítségével. Végül létrehoz egy címkét a kimenet megjelenítéséhez és az ablak frissítéséhez.

    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()

    A fenti funkció kódját az egyes főbb lépéseket magyarázó megjegyzések magyarázzák.

    Az eseménykezelő rögzítése a gombhoz

    Ezután az eseménykezelőt a gombkattintási eseményhez kötjük. A Tkinterben a gombkattintás eseményét a ‘‘ karakterlánc jelöli. Az esemény eseménykezelőhöz való kötéséhez a gomb bind metódusát használjuk. Adja hozzá ezt a kódsort a függvénydefiníció alá:

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

    Végül, hogy az ablak működjön, meghívjuk az ablak objektum mainloop metódust.

    window.mainloop()

    És kész is vagyunk!

    A Tip és Split kalkulátor tesztelése

    Az alkalmazást a következő paranccsal futtathatja:

    python3 gui.py

    Ennek a következőképpen kell megnyitnia az ablakot:

    A számológépet mintabevitellel futtathatja:

    Végső szavak

    Ebben az oktatóanyagban kétféle módon hoztunk létre egy tippet és osztott számológépet. Az első terminál alapú CLI eszközt használ. A második egy grafikus felhasználói felület, amely a Python Tkintert használja. Ez az oktatóanyag egy egyszerű Python-projekt felépítését mutatja be. Ha felfrissítened vagy csiszolnod kell Python-készségeidet, itt egy Datacamp tanfolyam.

    Ezután megnézheti, hogyan hozhat létre véletlenszerű jelszógenerátort a Pythonban.