Python에서 팁 및 분할 계산기를 만드는 방법

Python에서 Tip and Split 계산기를 만드는 방법을 알아보겠습니다.

Python 기술을 연습하기 위해 빌드할 수 있는 훌륭한 개인 프로젝트입니다. 또한 이 자습서에서는 명령줄 도구와 GUI 도구의 두 가지 방법으로 응용 프로그램을 만드는 방법을 알려줍니다.

시사

우리는 두 가지 방법으로 애플리케이션을 구축할 것입니다. 먼저 사용자에게 입력을 요청하고 출력을 작성하는 간단한 Python 셸 스크립트를 빌드합니다.

둘째, 프로그램에 Tkinter를 사용하여 그래픽 사용자 인터페이스를 제공합니다.

프로그램 사양

이 프로그램은 세 가지 입력을 받습니다.

  • 청구 금액
  • 팁 비율
  • 청구서를 공유하는 사람의 수

이러한 입력을 사용하여 프로그램은 다음 출력을 계산합니다.

  • 법안에 대한 각 개인의 기부금
  • 팁에 대한 각 사람의 기여도
  • 각 개인의 총 기부금

연산

이를 달성하기 위해 Tip and Split 계산기는 아래에 설명된 매우 간단한 알고리즘을 따릅니다.

  • 입력 받기: bill_amount, tip_percentage, number_of_people
  • bill_amount * tip_percentage / 100을 곱하여 팁 금액을 계산합니다.
  • bill_amount를 number_of_people로 나누어 청구서에 대한 각 사람의 기부금을 얻습니다.
  • tip_amount를 number_of_people로 나누어 각 사람의 팁 기여도를 확인하세요.
  • 마지막으로 청구서에 기부금과 팁을 추가하여 지불해야 할 총 금액을 구합니다.
  • 전제 조건

    이 자습서를 따르려면 Python 프로그래밍 언어를 알고 이해해야 합니다. 이 자습서에서는 함수 및 클래스를 비롯한 기본 개념에 대한 지식이 필요합니다.

      Chrome에서 Hulu가 작동하지 않는 문제 수정

    또한 시스템에 Python이 설치되어 있어야 합니다. 그렇지 않은 경우 Python 웹 사이트로 이동하여 다운로드하십시오. 또는 koreantech.org에는 환경 설정이 전혀 없이 브라우저에서 Python 코드를 실행할 수 있는 온라인 Python 컴파일러가 있습니다.

    명령줄 인터페이스로 계산기 만들기

    프로젝트 폴더 생성

    시작하려면 시스템의 빈 폴더로 이동합니다. 저의 경우 우분투 22.04를 사용하고 있기 때문에 폴더를 생성하고 터미널을 이용하여 이동합니다. 다음 명령을 입력해야 합니다.

    mkdir tip-calculator && cd tip-calculator

    파이썬 파일 생성

    다음으로 Python 스크립트를 작성할 스크립트 파일을 만듭니다. 제 경우에는 touch 명령을 사용하겠습니다.

    touch main.py

    선호하는 코드 편집기로 스크립트 파일 열기

    스크립트에 코드 작성을 시작하려면 즐겨 사용하는 코드 편집기로 파일을 엽니다. 터미널 기반 텍스트 편집기인 nano를 사용할 예정입니다.

    nano main.py

    입력 받기

    이 작업을 완료하면 다음 코드 줄을 파일 맨 위에 추가할 수 있습니다.

    # 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

    결과 표시

    마지막으로 결과를 사용자에게 출력합니다.

    # Displayinnng the results
    print("Bill contribution per person: ", bill_contribution)
    print("Tip contribution per person: ", tip_contribution)
    print("Total contribution per person: ", total_contribution)

    팁 및 분할 계산기 테스트

    마지막으로 스크립트 파일은 다음과 같아야 합니다.

    # 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)

    이 시점에서 다음 명령을 사용하여 애플리케이션을 자유롭게 테스트 실행하십시오.

    python3 main.py

    GUI로 Tip and Split 계산기 구축

    이 자습서의 다음 부분에서는 그래픽 사용자 인터페이스를 사용하여 동일한 응용 프로그램을 구현합니다. GUI를 구축하기 위해 Tkinter라는 패키지를 사용할 것입니다.

      Redecor 골드 교환 코드

    설정

    Tkinter는 Python의 표준 라이브러리에 내장된 패키지입니다. 이것은 Python을 설치할 때 기본적으로 설치되었음을 의미합니다.

    그러나 기본적으로 Python이 설치된 Linux 시스템에는 공간 절약을 위해 TKinter가 사전 설치되어 있지 않습니다. 따라서 다음 명령을 사용하여 수동으로 설치해야 합니다.

    sudo apt-get install python3-tk

    프로젝트 파일 만들기

    시작하려면 Python 스크립트를 저장할 파일을 만듭니다. 파일을 만든 후 원하는 텍스트 편집기로 엽니다.

    touch gui.py

    Tkinter 가져오기

    다음으로 파일 맨 위에 다음 줄을 추가하여 Tkinter 패키지를 가져옵니다.

    import tkinter from tk

    사용자 인터페이스 만들기

    그런 다음 사용자 인터페이스 생성을 시작할 수 있습니다.

    # 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")

    위의 코드는 모든 사용자 인터페이스 위젯을 포함하는 창을 만들었습니다. 또한 창의 제목 역할을 할 레이블을 만들었습니다.

    다음으로 bill_amount, tip_percentage 및 number_of_people의 세 가지 입력에 대한 레이블 및 입력 필드를 생성했습니다. 마지막으로 사용자가 계산을 실행하기 위해 클릭하는 버튼을 생성했습니다.

    출력을 계산하는 함수 만들기

    그런 다음 Enter 버튼 클릭을 처리하는 함수를 만들 수 있습니다. 이 함수는 입력 필드의 값을 가져와 앞에서 언급한 알고리즘을 사용하여 출력을 계산하는 데 사용합니다. 마지막으로 출력을 표시하고 창을 업데이트하는 레이블을 만듭니다.

    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()

    위 함수의 코드는 각 주요 단계를 설명하는 주석을 통해 설명했습니다.

      Nintendo Switch 게임을 업데이트하는 방법

    이벤트 핸들러를 버튼에 붙이기

    다음으로 이벤트 핸들러를 버튼 클릭 이벤트에 바인딩합니다. Tkinter의 버튼 클릭 이벤트는 ‘‘ 문자열로 표시됩니다. 이벤트를 이벤트 핸들러에 바인딩하기 위해 버튼의 bind 메소드를 사용합니다. 함수 정의 아래에 다음 코드 줄을 추가합니다.

    btn_enter.bind('<Button-1>', handle_click)
    btn_enter.pack()

    마지막으로 창을 계속 실행하기 위해 창 개체의 mainloop 메서드를 호출합니다.

    window.mainloop()

    그리고 끝났습니다!

    팁 및 분할 계산기 테스트

    다음 명령을 사용하여 애플리케이션을 실행할 수 있습니다.

    python3 gui.py

    그러면 다음과 같이 창이 열립니다.

    샘플 입력으로 계산기를 실행할 수 있습니다.

    마지막 말

    이 자습서에서는 두 가지 방법으로 팁 및 분할 계산기를 만들었습니다. 첫 번째는 터미널 기반 CLI 도구를 사용합니다. 두 번째는 Python의 Tkinter를 사용하는 GUI 도구입니다. 이 자습서에서는 간단한 Python 프로젝트를 빌드하는 방법을 보여줍니다. Python 기술을 연마하거나 연마해야 하는 경우 여기 Datacamp 과정이 있습니다.

    다음으로 Python에서 임의 암호 생성기를 만드는 방법을 확인할 수 있습니다.