Како да направите калкулатор савета и раздвајања у Питхон-у

Хајде да научимо како да направимо калкулатор Тип и Сплит у Питхон-у.

То је сјајан лични пројекат који можете изградити да бисте вежбали своје Питхон вештине. Штавише, овај водич ће вас научити како да креирате апликацију на два начина, прво као алатку командне линије и друго као ГУИ алатку.

Преглед

Направићемо апликацију на два начина. Прво ћемо направити једноставну Питхон схелл скрипту која тражи од корисника унос и пише излаз.

Друго, даћемо програму графички кориснички интерфејс користећи Ткинтер.

Спецификација програма

Програм прима три улаза:

  • Износ рачуна
  • Проценат напојнице
  • Број људи који деле рачун

Користећи ове улазе, програм ће израчунати следећи излаз:

  • Допринос сваке особе на рачуну
  • Допринос сваке особе савету
  • Укупан допринос сваке особе

Алгоритам

Да би се то постигло, калкулатор Тип и Сплит ће пратити врло једноставан алгоритам који је наведен у наставку:

  • Примите уносе: износ_рачуна, проценат_напојнице, број_људи
  • Израчунајте износ напојнице тако што ћете помножити износ_рачуна * проценат_напојнице / 100
  • Поделите износ_рачуна са бројем_људи да бисте добили допринос сваке особе на рачуну.
  • Поделите износ напојнице са бројем_људи да бисте добили допринос сваке особе за напојницу.
  • На крају, додајте доприносе на рачун и напојницу да бисте добили укупан износ за плаћање.
  • Предуслови

    Да бисте пратили овај водич, требало би да знате и разумете програмски језик Питхон. За овај туторијал потребно је познавање основних концепата, укључујући функције и класе.

      Коју бисте требали изабрати 2022.

    Поред тога, требало би да имате инсталиран Питхон у вашем систему. Ако није, идите на веб локацију Питхон и преузмите је. Алтернативно, вдзвдз има онлајн Питхон компајлер где можете покренути свој Питхон код у претраживачу без икаквог подешавања окружења.

    Израда калкулатора са интерфејсом командне линије

    Направите фасциклу пројекта

    За почетак идите до празне фасцикле у вашем систему. У мом случају, користим Убунту 22.04, тако да креирам фасциклу и навигирам до ње помоћу терминала; Морам да унесем следећу команду:

    mkdir tip-calculator && cd tip-calculator

    Креирајте Питхон датотеку

    Затим креирајте датотеку скрипте у коју ћемо написати Питхон скрипту. У мом случају, за то ћу користити команду додира:

    touch main.py

    Отворите датотеку скрипте помоћу свог омиљеног уређивача кода

    Да бисте започели писање кода у скрипту, отворите датотеку помоћу свог омиљеног уређивача кода. Користићу нано који је уређивач текста заснован на терминалу.

    nano main.py

    Примите унос

    Када је ово урађено, можемо додати следеће линије кода на врх датотеке:

    # 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

    Прикажите резултате

    На крају, испишите резултате кориснику.

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

    Тестирање калкулатора Тип и Сплит

    Коначно, датотека скрипте би требало да изгледа овако:

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

    У овом тренутку, слободно тестирајте своју апликацију користећи следећу команду:

    python3 main.py

    Израда калкулатора савета и раздвајања са ГУИ

    У следећем делу овог упутства имплементираћемо исту апликацију, али са графичким корисничким интерфејсом. Да бисмо направили ГУИ, користићемо пакет који се зове Ткинтер.

      Тестирање система објашњено за пет минута [With Examples]

    Постављање

    Ткинтер је пакет уграђен у Пајтонову стандардну библиотеку. То значи да је подразумевано инсталиран када сте инсталирали Питхон.

    Међутим, на Линук машинама са подразумевано инсталираним Питхон-ом, ТКинтер није унапред инсталиран ради уштеде простора. Због тога морате да га инсталирате ручно помоћу следеће команде:

    sudo apt-get install python3-tk

    Креирајте датотеку пројекта

    За почетак, направите датотеку у којој ће се чувати Питхон скрипта. Након што креирате датотеку, отворите је помоћу жељеног уређивача текста.

    touch gui.py

    Увези Ткинтер

    Затим увезите Ткинтер пакет додавањем следећег реда на врх датотеке.

    import tkinter from tk

    Креирајте кориснички интерфејс

    Затим можемо почети са креирањем корисничког интерфејса.

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

    Горњи код је направио прозор који садржи све виџете корисничког интерфејса. Поред тога, креирао је ознаку која ће служити као наслов прозора.

    Затим је креирао ознаке и поља за унос за три улаза: износ_рачуна, проценат_напојнице и број_људи. На крају, креирао је дугме на које ће корисник кликнути да би покренуо прорачун.

    Креирајте функцију за израчунавање излаза

    Након овога, можемо креирати функцију која ће управљати кликом на дугме Ентер. Ова функција ће узети вредности поља за унос и користити их за израчунавање излаза користећи претходно поменути алгоритам. На крају, креираће ознаку за приказ излаза и ажурирање прозора.

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

    Код у горњој функцији је објашњен кроз коментаре који објашњавају сваки главни корак.

      4 најбоља алата за мрежно скенирање и набрајање

    Причвршћивање руковаоца догађаја на дугме

    Затим везујемо руковалац догађаја за догађај клика на дугме. Догађај клика на дугме у Ткинтеру је представљен низом ‘<Буттон-1>‘. Да бисмо повезали догађај са руковаоцем догађаја, користимо метод повезивања дугмета. Додајте ову линију кода испод дефиниције функције:

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

    На крају, да би се прозор одржао, позивамо метод маинлооп објекта прозора.

    window.mainloop()

    И готови смо!

    Тестирање калкулатора Тип и Сплит

    Апликацију можете покренути помоћу следеће команде:

    python3 gui.py

    Ово би требало да отвори прозор на следећи начин:

    Можете покренути калкулатор са узорком уноса:

    Завршне речи

    У овом туторијалу направили смо калкулатор типова и сплит на два начина. Први користи ЦЛИ алат базиран на терминалу. Други је ГУИ алат који користи Питхон-ов Ткинтер. Овај водич показује како да направите једноставан Питхон пројекат. Ако треба да дотерате или угланцате своје Питхон вештине, ево курса Датацамп-а.

    Затим можете да проверите како да направите насумични генератор лозинки у Питхон-у.