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

Spread the love

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:

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

      Liên kết kênh là gì?

    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.

      8 Trình tạo Sơ yếu lý lịch Cao cấp để Xây dựng Sơ yếu lý lịch Chuyên nghiệp Mạnh mẽ

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

      Cách sử dụng các khối hành động của Trợ lý Google để hỗ trợ tiếp cận

    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 ‘‘. Để liên kết sự kiện với trình xử lý sự kiện, chúng tôi sử dụng phương thức liên kết của nút. Thêm dòng mã này bên dưới định nghĩa hàm:

    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.

    x