Cara Membuat Kalkulator Tip dan Split dengan Python
Diterbitkan: 2023-01-06Mari pelajari cara membuat kalkulator Tip dan Split dengan Python.
Ini adalah proyek pribadi yang bagus untuk dibangun untuk melatih keterampilan Python Anda. Selanjutnya, tutorial ini akan mengajarkan Anda cara membuat aplikasi dengan dua cara, pertama sebagai alat baris perintah dan kedua sebagai alat GUI.
Pratinjau
Kami akan membangun aplikasi dalam dua cara. Pertama, kita akan membuat skrip shell Python sederhana yang meminta input dari pengguna dan menulis hasilnya.
Kedua, kami akan memberikan program Antarmuka Pengguna Grafis menggunakan Tkinter.
Spesifikasi Program
Program ini menerima tiga masukan:
- Jumlah tagihan
- Persentase tip
- Jumlah orang yang berbagi tagihan
Dengan menggunakan input ini, program akan menghitung output berikut:
- Kontribusi setiap orang untuk tagihan
- Kontribusi setiap orang untuk tip
- Total kontribusi setiap orang
Algoritma
Untuk mencapai ini, kalkulator Tip dan Split akan mengikuti algoritme yang sangat sederhana yang diuraikan di bawah ini:
- Terima input
: bill_amount
,tip_percentage
,number_of_people
- Hitung
amount
tip dengan mengalikanbill_amount
*tip_percentage / 100
- Bagi
bill_amount
dengannumber_of_people
untuk mendapatkan kontribusi setiap orang ke tagihan. - Bagi
tip_amount
dengannumber_of_people
untuk mendapatkan kontribusi setiap orang ke tip. - Terakhir, tambahkan kontribusi ke tagihan dan tip untuk mendapatkan jumlah total yang harus dibayarkan.
Prasyarat
Untuk mengikuti tutorial ini, Anda harus mengetahui dan memahami bahasa pemrograman Python. Untuk tutorial ini, diperlukan pengetahuan tentang konsep dasar, termasuk fungsi dan kelas.
Selain itu, Anda harus menginstal Python di sistem Anda. Jika tidak, buka situs web Python dan unduh. Atau, Geekflare memiliki kompiler Python online tempat Anda dapat menjalankan kode Python di browser tanpa pengaturan lingkungan sama sekali.
Membuat Kalkulator dengan Antarmuka Baris Perintah
Buat Folder Proyek
Untuk memulai, navigasikan ke folder kosong di sistem Anda. Dalam kasus saya, saya menggunakan Ubuntu 22.04, jadi untuk membuat folder dan menavigasi ke sana menggunakan terminal; Saya perlu memasukkan perintah berikut:
mkdir tip-calculator && cd tip-calculator
Buat File Python
Selanjutnya, buat file skrip tempat kita akan menulis skrip Python. Dalam kasus saya, saya akan menggunakan perintah touch
untuk melakukannya:
touch main.py
Buka File Skrip dengan Editor Kode Favorit Anda
Untuk mulai menulis kode ke skrip, buka file dengan editor kode favorit Anda. Saya akan menggunakan nano
yang merupakan editor teks berbasis terminal.
nano main.py
Menerima Masukan
Setelah selesai, kita dapat menambahkan baris kode berikut ke bagian atas file:
# 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: "))
Pada dasarnya, ini menerima input dan menampilkan tipe data dari setiap input dari sebuah string ke tipe yang paling sesuai.
Hitung Jumlah Tip
Selanjutnya, kami menghitung jumlah tip dengan mengalikan persentase tip dengan jumlah tagihan.
tip_amount = bill_amount * tip_percentage / 100
Bagilah Tagihan dan Tip untuk Mendapatkan Kontribusi Setiap Orang ke Dua
# 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
Hitung Total Kontribusi
Selanjutnya, jumlahkan kontribusi individu untuk menentukan total kontribusi per orang.
total_contribution = bill_contribution + tip_contribution
Menampilkan Hasil
Terakhir, keluarkan hasilnya ke pengguna.
# Displayinnng the results print("Bill contribution per person: ", bill_contribution) print("Tip contribution per person: ", tip_contribution) print("Total contribution per person: ", total_contribution)
Menguji Kalkulator Tip dan Split
Terakhir, file skrip Anda akan terlihat seperti ini:
# 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)
Pada titik ini, jangan ragu untuk menguji coba aplikasi Anda menggunakan perintah berikut:
python3 main.py
Membangun Kalkulator Tip dan Split dengan GUI
Di bagian selanjutnya dari tutorial ini, kami akan mengimplementasikan aplikasi yang sama tetapi dengan Antarmuka Pengguna Grafis. Untuk membangun GUI, kami akan menggunakan paket bernama Tkinter.
Pengaturan
Tkinter adalah paket yang dibangun ke dalam Perpustakaan Standar Python. Ini berarti itu diinstal secara default ketika Anda menginstal Python.
Namun, pada mesin Linux dengan Python terinstal secara default, TKinter tidak terinstal untuk menghemat ruang. Oleh karena itu, Anda perlu menginstalnya secara manual menggunakan perintah berikut:
sudo apt-get install python3-tk
Buat File Proyek
Untuk memulai, buat file tempat skrip Python akan disimpan. Setelah Anda membuat file, buka dengan editor teks pilihan Anda.
touch gui.py
Impor Tkinter
Selanjutnya, impor paket Tkinter dengan menambahkan baris berikut ke bagian atas file.
import tkinter from tk
Buat Antarmuka Pengguna
Kemudian, kita dapat mulai membuat antarmuka pengguna.
# 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")
Kode di atas membuat jendela yang berisi semua widget Antarmuka Pengguna. Selain itu, dibuat label yang akan berfungsi sebagai judul jendela.
Selanjutnya, ia membuat label dan kolom entri untuk tiga input: bill_amount
, tip_percentage
dan number_of_people
. Terakhir, dibuat tombol yang akan diklik pengguna untuk menjalankan perhitungan.
Buat Fungsi untuk Menghitung Keluaran
Setelah ini, kita dapat membuat fungsi untuk menangani klik tombol Enter. Fungsi ini akan mengambil nilai dari bidang entri dan menggunakannya untuk menghitung keluaran menggunakan algoritme yang disebutkan sebelumnya. Terakhir, ini akan membuat label untuk menampilkan keluaran dan memperbarui jendela.
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()
Kode pada fungsi di atas telah dijelaskan melalui komentar yang menjelaskan setiap langkah utama.
Melampirkan Event Handler ke Button
Selanjutnya, kami mengikat event handler ke event klik tombol. Acara klik tombol di Tkinter diwakili oleh string ' <Button-1>
'. Untuk mengikat event ke event handler, kita menggunakan metode bind dari button. Tambahkan baris kode ini di bawah definisi fungsi:
btn_enter.bind('<Button-1>', handle_click) btn_enter.pack()
Terakhir, agar jendela tetap berjalan, kita memanggil metode mainloop
dari objek window
.
window.mainloop()
Dan kita selesai!
Menguji Kalkulator Tip dan Split
Anda dapat menjalankan aplikasi menggunakan perintah berikut:
python3 gui.py
Ini harus membuka jendela sebagai berikut:
Anda dapat menjalankan kalkulator dengan input sampel:
Kata Akhir
Dalam tutorial ini, kami membuat tip dan membagi kalkulator dalam dua cara. Yang pertama menggunakan alat CLI berbasis terminal. Yang kedua adalah alat GUI menggunakan Tkinter Python. Tutorial ini menunjukkan cara membuat proyek Python sederhana. Jika Anda perlu memoles atau memoles keterampilan Python Anda, berikut adalah kursus Datacamp.
Selanjutnya, Anda dapat melihat cara membuat pembuat kata sandi acak dengan Python.