Cách tạo Mẹo và Máy tính chia nhỏ trong Python

Hãy tìm hiểu cách tạo một máy tính Tip and Split trong Python.
Đây là một dự án cá nhân tuyệt vời để xây dựng nhằm thực hành các kỹ năng Python của bạn. Hơn nữa, hướng dẫn này sẽ dạy bạn cách tạo ứng dụng theo hai cách, thứ nhất là công cụ dòng lệnh và thứ hai là công cụ GUI.
Xem trước
Chúng tôi 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 để nhắc người dùng nhập liệu và ghi kết quả đầu ra.
Thứ hai, chúng tôi sẽ cung cấp cho chương trình Giao diện người dùng đồ họa bằng Tkinter.
Thông số kỹ thuật chương trình
Chương trình nhận được ba đầu vào:
- Số tiền hóa đơn
- Tỷ lệ tiền boa
- Số người chia sẻ hóa đơ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 hóa đơn
- Đóng góp của mỗi người vào tiền boa
- Tổng đóng góp của mỗi người
thuật toán
Để đạt được điều này, máy tính Tip and Split 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. Đối với hướng dẫn này, kiến thức về các khái niệm cơ bản, bao gồm các hàm và lớp, là bắt buộc.
Ngoài ra, bạn nên cài đặt Python trong hệ thống của mình. Nếu không, hãy truy cập trang web Python và tải xuống. Ngoài ra, techpoe.com có một trình biên dịch Python trực tuyến, nơi bạn có thể chạy mã Python của mình trong trình duyệt mà không cần thiết lập môi trường nào cả.
Xây dựng Máy tính bằng 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 trong 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 thư mục đó bằng thiết bị đầu cuối; Tôi cần nhập lệnh sau:
mkdir tip-calculator && cd tip-calculator
Tạo tệp Python
Tiếp theo, tạo tệp tập lệnh nơi chúng tôi 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 để làm như vậy:
touch main.py
Mở tệp tập lệnh bằng Trình chỉnh sửa 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 bằng 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 thông tin đầu vào
Sau khi hoàn thành việc này, 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, cái này nhận đầu vào và chuyển loại dữ liệu của từng đầu vào từ một chuỗi sang loại phù hợp nhất.
Tính số tiền boa
Tiếp theo, chúng tôi tính số tiền boa bằng cách nhân phần trăm tiền boa với số tiền trong hóa đơn.
tip_amount = bill_amount * tip_percentage / 100
Chia hóa đơn và tiền boa để lấy phần đóng góp của mỗi người cho cả hai
# 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 đóng góp
Tiếp theo, thêm các khoản đóng góp cá nhân để xác định tổng số tiền đóng góp cho mỗi người.
total_contribution = bill_contribution + tip_contribution
Hiển thị kết quả
Cuối cùng, xuất kết quả cho 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ẹo và Máy tính chia
Cuối cùng, tệp script của bạn 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, vui lòng chạy thử ứng dụng của bạn bằng lệnh sau:
python3 main.py
Xây dựng Máy tính Mẹo và Chia nhỏ bằng GUI
Trong phần tiếp theo của hướng dẫn này, chúng tôi sẽ triển khai ứng dụng tương tự nhưng với Giao diện người dùng đồ họa. Để xây dựng GUI, chúng tôi sẽ sử dụng gói có tên Tkinter.
Đang cài đặt
Tkinter là một gói được tích hợp trong Thư viện chuẩn của Python. Điều này có nghĩa là nó đã được cài đặt mặc định khi bạn cài đặt Python.
Tuy nhiên, trên các máy Linux có cài đặt Python mặc định, TKinter không được cài đặt sẵn để tiết kiệm dung lượng. Do đó, bạn cần cài đặt thủ công bằng lệnh sau:
sudo apt-get install python3-tk
Tạo một tệp dự án
Để bắt đầu, hãy tạo một tệp nơi tập lệnh Python sẽ được lưu trữ. Sau khi bạn tạo tệp, hãy mở tệp đó bằng trình soạn thảo văn bản ưa thích của bạn.
touch gui.py
Nhập Tkinter
Tiếp theo, 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ể bắt đầu 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, nó đã tạo một nhãn sẽ đóng vai trò là tiêu đề của cửa sổ.
Tiếp theo, nó tạo nhãn và trường nhập cho ba đầu vào: bill_amount, tip_percentage và number_of_people. Cuối cùng, nó tạo ra một nút mà người dùng sẽ nhấp vào để chạy phép tính.
Tạo một hàm để tính toán kết quả đầu ra
Sau này, chúng ta có thể tạo một chức năng để xử lý việc nhấp vào nút Enter. Hàm này sẽ lấy giá trị của các trường mục nhập và sử dụng chúng để tính toán kết quả đầu ra bằng thuật toán đã đề cập trước đó. Cuối cùng, nó sẽ tạo một 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 chức năng trên đã được giải thích thông qua các 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
Tiếp theo, chúng tôi liên kết trình xử lý sự kiện với sự kiện nhấp vào nút. Sự kiện bấm vào nút trong Tkinter được biểu thị bằng chuỗi ‘
btn_enter.bind('<Button-1>', handle_click) btn_enter.pack()
Cuối cùng, để giữ cho cửa sổ tiếp tục chạy, chúng ta gọi phương thức vòng lặp chính của đối tượng cửa sổ.
window.mainloop()
Và chúng tôi đã hoàn thành!
Kiểm tra Mẹo và Máy tính chia
Bạn có thể chạy ứng dụng bằng lệnh sau:
python3 gui.py
Điều này sẽ mở ra cửa sổ như sau:
Bạn có thể chạy máy tính với đầu vào mẫu:
Từ cuối cùng
Trong hướng dẫn này, chúng tôi đã tạo một máy tính mẹo và chia theo hai cách. Cái đầu tiên sử dụng công cụ CLI dựa trên thiết bị đầu cuối. Thứ hai là một công cụ GUI sử dụng Tkinter của Python. Hướng dẫn này cho thấy cách xây dựng một dự án Python đơn giản. Nếu bạn cần cải thiện hoặc đánh bóng các kỹ năng Python của mình, thì đây là khóa học Datacamp.
Tiếp theo, bạn có thể xem cách tạo trình tạo mật khẩu ngẫu nhiên trong Python.