Hãy cùng tìm hiểu cách tạo Công cụ tính Mẹo và Chia bằng Python.
Đây là một dự án cá nhân tuyệt vời được xây dựng để thực hành các kỹ năng Python của bạn. Ngoài ra, hướng dẫn này sẽ hướng dẫn bạn cách tạo một ứng dụng theo hai cách, đầu tiên là công cụ dòng lệnh và sau đó là công cụ GUI.
Thông báo
Chúng ta sẽ xây dựng ứng dụng theo hai cách. Đầu tiên, chúng ta sẽ xây dựng một tập lệnh shell python đơn giản yêu cầu người dùng nhập dữ liệu và lưu kết quả đầu ra.
Thứ hai, chúng tôi sẽ cung cấp cho chương trình một giao diện đồ họa người dùng bằng Tkinter.
Đặc tả chương trình
Chương trình nhận được ba đầu vào:
- Tiền thanh toán
- Phần trăm tiền boa
- Số người chia sẻ tài khoản
Sử dụng các đầu vào này, chương trình sẽ tính toán đầu ra sau:
- Đóng góp của mỗi người vào tài khoản
- Sự đóng góp của mỗi người vào tiền boa
- Tổng số tiền đóng góp của mỗi người
Thuật toán
Để đạt được điều này, công cụ tính tiền boa và phần chia sẽ tuân theo một thuật toán rất đơn giản được nêu dưới đây:
Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn nên biết và hiểu ngôn ngữ lập trình Python. Hướng dẫn này yêu cầu kiến thức về các khái niệm cơ bản, bao gồm các hàm và lớp.
Ngoài ra, bạn nên cài đặt Python trên hệ thống của mình. Nếu không, hãy truy cập trang python và tải xuống. Ngoài ra, newsblog.pl có trình biên dịch Python trực tuyến nơi bạn có thể chạy mã Python trong trình duyệt của mình mà không cần thiết lập môi trường.
Xây dựng máy tính có giao diện dòng lệnh
Tạo một thư mục dự án
Để bắt đầu, hãy điều hướng đến một thư mục trống trên hệ thống của bạn. Trong trường hợp của tôi, tôi đang sử dụng Ubuntu 22.04, vì vậy để tạo một thư mục và điều hướng đến nó bằng thiết bị đầu cuối; Tôi phải nhập lệnh sau:
mkdir tip-calculator && cd tip-calculator
Tạo một tập tin python
Sau đó tạo một tệp tập lệnh nơi chúng ta sẽ viết tập lệnh python. Trong trường hợp của tôi, tôi sẽ sử dụng lệnh touch cho việc này:
touch main.py
Mở tệp tập lệnh bằng trình soạn thảo mã yêu thích của bạn
Để bắt đầu viết mã vào tập lệnh, hãy mở tệp trong trình chỉnh sửa mã yêu thích của bạn. Tôi sẽ sử dụng nano, một trình soạn thảo văn bản dựa trên thiết bị đầu cuối.
nano main.py
Nhận đầu vào
Khi việc này hoàn tất, chúng ta có thể thêm các dòng mã sau vào đầu tệp:
# 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: "))
Về cơ bản, nó nhận đầu vào và chuyển kiểu dữ liệu của từng đầu vào từ chuỗi sang kiểu thích hợp nhất.
Tính số tiền tip
Sau đó, chúng tôi tính số tiền boa bằng cách nhân tỷ lệ phần trăm tiền boa với số tiền hóa đơn.
tip_amount = bill_amount * tip_percentage / 100
Chia hóa đơn và tiền boa để nhận phần đóng góp của mỗi người thành hai phần
# 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
Tính tổng số tiền đóng góp của bạn
Sau đó cộng các khoản đóng góp của từng cá nhân để xác định tổng số tiền đóng góp của mỗi người.
total_contribution = bill_contribution + tip_contribution
Xem Kết quả
Cuối cùng gửi kết quả tới người dùng.
# Displayinnng the results print("Bill contribution per person: ", bill_contribution) print("Tip contribution per person: ", tip_contribution) print("Total contribution per person: ", total_contribution)
Kiểm tra máy tính tiền boa và phần chia
Cuối cùng, tệp script sẽ trông như thế này:
# 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)
Tại thời điểm này, bạn có thể kiểm tra ứng dụng của mình bằng lệnh sau:
python3 main.py
Tạo một máy tính tiền boa và phân chia với giao diện người dùng đồ họa
Trong phần tiếp theo của hướng dẫn này, chúng ta sẽ triển khai ứng dụng tương tự nhưng với giao diện người dùng đồ họa. Chúng tôi sẽ sử dụng gói có tên Tkinter để xây dựng GUI.
Cấu hình
Tkinter là một gói được tích hợp trong thư viện chuẩn Python. Điều này có nghĩa là nó đã được cài đặt mặc định khi cài đặt Python.
Tuy nhiên, trên các máy Linux được cài đặt Python theo mặc định, TKinter không được cài đặt sẵn để tiết kiệm dung lượng. Do đó, bạn phải cài đặt thủ công bằng lệnh sau:
sudo apt-get install python3-tk
Tạo một tập tin dự án
Để bắt đầu, hãy tạo một tệp để lưu trữ tập lệnh python của bạn. Sau khi tạo tệp, hãy mở tệp đó trong trình soạn thảo văn bản ưa thích của bạn.
touch gui.py
Nhập khẩu Tkinter
Sau đó nhập gói Tkinter bằng cách thêm dòng sau vào đầu tệp.
import tkinter from tk
Tạo giao diện người dùng
Sau đó chúng ta có thể tiến hành tạo giao diện người dùng.
# 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")
Đoạn mã trên đã tạo một cửa sổ chứa tất cả các tiện ích giao diện người dùng. Ngoài ra, anh ấy còn tạo ra một nhãn sẽ dùng làm tiêu đề của cửa sổ.
Tiếp theo, nhãn và trường nhập liệu được tạo cho ba dữ liệu đầu vào: bill_amount, tip_percentage và number_people. Cuối cùng, một nút đã được tạo để người dùng nhấp vào để chạy phép tính.
Tạo hàm tính kết quả
Sau đó, chúng ta có thể tạo một hàm xử lý việc nhấp vào nút Enter. Hàm này sẽ lấy các giá trị của các trường đầu vào và sử dụng chúng để tính toán đầu ra bằng thuật toán đã đề cập trước đó. Cuối cùng, nó sẽ tạo nhãn để hiển thị đầu ra và cập nhật cửa sổ.
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()
Mã trong hàm trên đã được giải thích kèm theo nhận xét giải thích từng bước chính.
Gắn trình xử lý sự kiện vào nút
Sau đó chúng tôi liên kết trình xử lý sự kiện với sự kiện nhấn nút. Sự kiện nhấn nút trong Tkinter được biểu thị bằng chuỗi “”. Để liên kết một sự kiện với một trình xử lý sự kiện, chúng ta sử dụng phương thức liên kết nút. Thêm dòng mã này vào phần định nghĩa hàm:
btn_enter.bind('<Button-1>', handle_click) btn_enter.pack()
Cuối cùng, để cửa sổ hoạt động, chúng ta gọi phương thức mainloop của đối tượng cửa sổ.
window.mainloop()
Và chúng ta đã hoàn tất!
Kiểm tra máy tính tiền boa và phần chia
Bạn có thể chạy ứng dụng bằng lệnh sau:
python3 gui.py
Điều này sẽ mở một cửa sổ như thế này:
Bạn có thể chạy máy tính với đầu vào mẫu:
những từ cuối
Trong hướng dẫn này, chúng tôi đã tạo một công cụ tính tiền boa và phần chia theo hai cách. Việc đầu tiên sử dụng công cụ CLI dựa trên thiết bị đầu cuối. Thứ hai là công cụ GUI sử dụng Tkinter của Python. Hướng dẫn này chỉ ra cách xây dựng một dự án Python đơn giản. Nếu bạn cần làm mới hoặc trau dồi kỹ năng Python của mình thì đây là khóa học Datacamp.
Sau đó, bạn có thể xem cách tạo trình tạo mật khẩu ngẫu nhiên trong Python.