Cara Membuat Kalkulator Tip dan Split dengan Python

Diterbitkan: 2023-01-06

Mari 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.

Tangkapan layar-dari-2023-01-05-19-30-39

Kedua, kami akan memberikan program Antarmuka Pengguna Grafis menggunakan Tkinter.

Tangkapan layar-dari-2023-01-05-15-11-29

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:

  1. Terima input : bill_amount , tip_percentage , number_of_people
  2. Hitung amount tip dengan mengalikan bill_amount * tip_percentage / 100
  3. Bagi bill_amount dengan number_of_people untuk mendapatkan kontribusi setiap orang ke tagihan.
  4. Bagi tip_amount dengan number_of_people untuk mendapatkan kontribusi setiap orang ke tip.
  5. 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
Tangkapan layar-dari-2023-01-05-19-32-16

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:

Tangkapan layar-dari-2023-01-05-20-27-26

Anda dapat menjalankan kalkulator dengan input sampel:

Tangkapan layar-dari-2023-01-05-20-29-09

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.