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

게시 됨: 2023-01-06

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

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

시사

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

2023-01-05-19-30-39의 스크린샷

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

2023-01-05-15-11-29의 스크린샷

프로그램 사양

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

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

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

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

연산

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

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

전제 조건

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

또한 시스템에 Python이 설치되어 있어야 합니다. 그렇지 않은 경우 Python 웹 사이트로 이동하여 다운로드하십시오. 또는 Geekflare에는 환경 설정 없이 브라우저에서 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
2023-01-05-19-32-16의 스크린샷

GUI로 Tip and Split 계산기 구축

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

설정

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

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

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

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

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

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

 window.mainloop()

그리고 끝났습니다!

팁 및 분할 계산기 테스트

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

 python3 gui.py

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

2023-01-05-20-27-26의 스크린샷

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

2023-01-05-20-29-09의 스크린샷

마지막 말

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

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