02/08/2023

Cum să creați un pont și un calculator împărțit în Python

Să învățăm cum să creăm un calculator Tip and Split în Python.

Este un proiect personal grozav de construit pentru a vă exersa abilitățile Python. În plus, acest tutorial vă va învăța cum să creați aplicația în două moduri, primul ca instrument de linie de comandă și al doilea ca instrument GUI.

previzualizare

Vom construi aplicația în două moduri. În primul rând, vom construi un script shell Python simplu care solicită utilizatorului introducerea și scrie rezultatul.

În al doilea rând, vom oferi programului o interfață grafică cu utilizatorul folosind Tkinter.

Specificația programului

Programul primește trei intrări:

  • Valoarea facturii
  • Procentul de bacșiș
  • Numărul de persoane care împart factura

Folosind aceste intrări, programul va calcula următoarea ieșire:

  • Contribuția fiecărei persoane la factură
  • Contribuția fiecărei persoane la bacșiș
  • Contribuția totală a fiecăruia

Algoritm

Pentru a realiza acest lucru, calculatorul Tip and Split va urma un algoritm foarte simplu prezentat mai jos:

  • Primiți intrările: bill_amount, tip_percentage, number_of_people
  • Calculați suma bacșișului înmulțind bill_amount * tip_percentage / 100
  • Împărțiți bill_amount la number_of_people pentru a obține contribuția fiecărei persoane la factură.
  • Împărțiți tip_amount la number_of_people pentru a obține contribuția fiecărei persoane la bacșiș.
  • În cele din urmă, adăugați contribuțiile la factură și bacșișul pentru a obține suma totală de plătit.
  • Cerințe preliminare

    Pentru a urma acest tutorial, ar trebui să cunoașteți și să înțelegeți limbajul de programare Python. Pentru acest tutorial, este necesară cunoașterea conceptelor de bază, inclusiv a funcțiilor și claselor.

    În plus, ar trebui să aveți instalat Python în sistemul dvs. Dacă nu este, accesați site-ul web Python și descărcați-l. În mod alternativ, tipstrick.ro are un compilator Python online în care vă puteți rula codul Python în browser fără nicio configurare a mediului.

      Top 10 cele mai bune site-uri cu torrent

    Construirea calculatorului cu o interfață de linie de comandă

    Creați un folder de proiect

    Pentru a începe, navigați la un folder gol din sistemul dvs. În cazul meu, folosesc Ubuntu 22.04, așa că pentru a crea un folder și a naviga la el folosind terminalul; Trebuie să introduc următoarea comandă:

    mkdir tip-calculator && cd tip-calculator

    Creați fișierul Python

    Apoi, creați fișierul script unde vom scrie scriptul Python. În cazul meu, voi folosi comanda tactilă pentru a face acest lucru:

    touch main.py

    Deschideți fișierul script cu Editorul dvs. de cod preferat

    Pentru a începe să scrieți codul în script, deschideți fișierul cu editorul de cod preferat. Voi folosi nano, care este un editor de text bazat pe terminal.

    nano main.py

    Primiți intrarea

    După aceasta, putem adăuga următoarele linii de cod în partea de sus a fișierului:

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

    Practic, aceasta primește intrarea și transmite tipul de date al fiecărei intrări dintr-un șir la cel mai potrivit tip.

    Calculați suma de bacșiș

    Apoi, calculăm suma bacșișului înmulțind procentul bacșișului cu suma facturii.

    tip_amount = bill_amount * tip_percentage / 100

    Împărțiți factura și bacșișul pentru a obține contribuția fiecărei persoane la cele două

    # 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

    Calculați contribuția totală

    Apoi, adăugați contribuțiile individuale pentru a determina contribuția totală per persoană.

    total_contribution = bill_contribution + tip_contribution

    Afișați rezultatele

    În cele din urmă, trimiteți rezultatele utilizatorului.

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

    Testarea Calculatorului Tip și Split

    În cele din urmă, fișierul dvs. de script ar trebui să arate astfel:

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

    În acest moment, nu ezitați să testați aplicația dvs. folosind următoarea comandă:

    python3 main.py

    Construirea calculatorului tip și împărțire cu GUI

    În următoarea porțiune a acestui tutorial, vom implementa aceeași aplicație, dar cu o interfață grafică pentru utilizator. Pentru a construi GUI, vom folosi un pachet numit Tkinter.

      Cum să adăugați o liniuță suspendată în Microsoft Word

    Configurare

    Tkinter este un pachet încorporat în biblioteca standard a Python. Aceasta înseamnă că a fost instalat în mod implicit când ați instalat Python.

    Cu toate acestea, pe mașinile Linux cu Python instalat în mod implicit, TKinter nu este preinstalat pentru a economisi spațiu. Prin urmare, trebuie să îl instalați manual folosind următoarea comandă:

    sudo apt-get install python3-tk

    Creați un fișier de proiect

    Pentru a începe, creați un fișier în care va fi stocat scriptul Python. După ce creați fișierul, deschideți-l cu editorul de text preferat.

    touch gui.py

    Importă Tkinter

    Apoi, importați pachetul Tkinter adăugând următoarea linie în partea de sus a fișierului.

    import tkinter from tk

    Creați interfața cu utilizatorul

    Apoi, putem începe să creăm interfața cu utilizatorul.

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

    Codul de mai sus a creat o fereastră care conține toate widget-urile interfeței cu utilizatorul. În plus, a creat o etichetă care va servi drept titlu al ferestrei.

    Apoi, a creat etichete și câmpuri de intrare pentru cele trei intrări: bill_amount, tip_percentage și number_of_people. În cele din urmă, a creat un buton pe care utilizatorul va face clic pentru a rula calculul.

    Creați o funcție pentru a calcula ieșirile

    După aceasta, putem crea o funcție care să gestioneze clicul butonului Enter. Această funcție va lua valorile câmpurilor de intrare și le va folosi pentru a calcula ieșirile folosind algoritmul menționat anterior. În cele din urmă, va crea o etichetă pentru a afișa rezultatul și pentru a actualiza fereastra.

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

    Codul din funcția de mai sus a fost explicat prin comentarii care explică fiecare pas major.

      Ce este extorcarea cibernetică și cum să te protejezi de ea?

    Atașarea handler-ului de evenimente la buton

    Apoi, legăm handlerul de evenimente la evenimentul de clic pe butonul. Evenimentul clic pe butonul din Tkinter este reprezentat de șirul „”. Pentru a lega evenimentul la handlerul de evenimente, folosim metoda bind a butonului. Adăugați această linie de cod sub definiția funcției:

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

    În cele din urmă, pentru a menține fereastra să funcționeze, apelăm metoda mainloop a obiectului fereastră.

    window.mainloop()

    Și am terminat!

    Testarea Calculatorului Tip și Split

    Puteți rula aplicația folosind următoarea comandă:

    python3 gui.py

    Aceasta ar trebui să deschidă fereastra după cum urmează:

    Puteți rula calculatorul cu introducerea eșantionului:

    Cuvinte finale

    În acest tutorial, am creat un pont și un calculator împărțit în două moduri. Primul folosește un instrument CLI bazat pe terminal. Al doilea este un instrument GUI care utilizează Tkinter de la Python. Acest tutorial arată cum să construiți un proiect Python simplu. Dacă aveți nevoie să vă perfecționați sau să vă lustruiți abilitățile Python, iată un curs Datacamp.

    Apoi, puteți verifica cum să creați un generator de parole aleatorii în Python.

    x