Tin tức và phân tích của tất cả các thiết bị di động

Cách tạo máy tính tiền boa và phần chia trong python

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:

  • Nhận thông tin đầu vào: bill_amount, tip_percentage, number_people
  • Tính số tiền boa bằng cách nhân bill_amount * tip_percentage / 100
  • Chia số tiền hóa đơn cho số_người để nhận phần hóa đơn của mỗi người.
  • Chia số tiền boa cho number_people để nhận phần đóng góp của mỗi người vào số tiền boa.
  • Cuối cùng, thêm phí hóa đơn và tiền boa để biết tổng số tiền phải trả.
  • Đ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.