Хајде да научимо како да направимо калкулатор Тип и Сплит у Питхон-у.
То је сјајан лични пројекат који можете изградити да бисте вежбали своје Питхон вештине. Штавише, овај водич ће вас научити како да креирате апликацију на два начина, прво као алатку командне линије и друго као ГУИ алатку.
Преглед садржаја
Преглед
Направићемо апликацију на два начина. Прво ћемо направити једноставну Питхон схелл скрипту која тражи од корисника унос и пише излаз.
Друго, даћемо програму графички кориснички интерфејс користећи Ткинтер.
Спецификација програма
Програм прима три улаза:
- Износ рачуна
- Проценат напојнице
- Број људи који деле рачун
Користећи ове улазе, програм ће израчунати следећи излаз:
- Допринос сваке особе на рачуну
- Допринос сваке особе савету
- Укупан допринос сваке особе
Алгоритам
Да би се то постигло, калкулатор Тип и Сплит ће пратити врло једноставан алгоритам који је наведен у наставку:
Предуслови
Да бисте пратили овај водич, требало би да знате и разумете програмски језик Питхон. За овај туторијал потребно је познавање основних концепата, укључујући функције и класе.
Поред тога, требало би да имате инсталиран Питхон у вашем систему. Ако није, идите на веб локацију Питхон и преузмите је. Алтернативно, вдзвдз има онлајн Питхон компајлер где можете покренути свој Питхон код у претраживачу без икаквог подешавања окружења.
Израда калкулатора са интерфејсом командне линије
Направите фасциклу пројекта
За почетак идите до празне фасцикле у вашем систему. У мом случају, користим Убунту 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
Израда калкулатора савета и раздвајања са ГУИ
У следећем делу овог упутства имплементираћемо исту апликацију, али са графичким корисничким интерфејсом. Да бисмо направили ГУИ, користићемо пакет који се зове Ткинтер.
Постављање
Ткинтер је пакет уграђен у Пајтонову стандардну библиотеку. То значи да је подразумевано инсталиран када сте инсталирали Питхон.
Међутим, на Линук машинама са подразумевано инсталираним Питхон-ом, ТКинтер није унапред инсталиран ради уштеде простора. Због тога морате да га инсталирате ручно помоћу следеће команде:
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()
Код у горњој функцији је објашњен кроз коментаре који објашњавају сваки главни корак.
Причвршћивање руковаоца догађаја на дугме
Затим везујемо руковалац догађаја за догађај клика на дугме. Догађај клика на дугме у Ткинтеру је представљен низом ‘<Буттон-1>‘. Да бисмо повезали догађај са руковаоцем догађаја, користимо метод повезивања дугмета. Додајте ову линију кода испод дефиниције функције:
btn_enter.bind('<Button-1>', handle_click) btn_enter.pack()
На крају, да би се прозор одржао, позивамо метод маинлооп објекта прозора.
window.mainloop()
И готови смо!
Тестирање калкулатора Тип и Сплит
Апликацију можете покренути помоћу следеће команде:
python3 gui.py
Ово би требало да отвори прозор на следећи начин:
Можете покренути калкулатор са узорком уноса:
Завршне речи
У овом туторијалу направили смо калкулатор типова и сплит на два начина. Први користи ЦЛИ алат базиран на терминалу. Други је ГУИ алат који користи Питхон-ов Ткинтер. Овај водич показује како да направите једноставан Питхон пројекат. Ако треба да дотерате или угланцате своје Питхон вештине, ево курса Датацамп-а.
Затим можете да проверите како да направите насумични генератор лозинки у Питхон-у.