udemy 정리

팁 계산기 코드

ilsancityboy 2023. 7. 6. 20:35

이번 강의영상의 문제는 식당에서의 최종금액을 입력하고 

팁 금액까지 추가해 먹은사람들의 인원수만큼 나눠 n빵하면

인당 얼마씩내면 되는지 출력시켜주는 코드를 작성하는 문제다.

 

문제에 나와있는 예시는 


Welcome to the tip calculator!

What was the total bill? $124.56

How much tip would you like to give? 10, 12, or 15? 12

How many people to split the bill? 7

Each person should pay: $19.93

 

▼해석

 

팁 계산기에 오신 것을 환영합니다!
총 청구액은 얼마인가요? $124.56
팁으로 얼마를 주시겠습니까? 10, 12, 15 중에서 선택해주세요: 12
청구서를 몇 명과 나누시겠습니까? 7

각자 지불해야 할 금액은 $19.93입니다.

 

 

 


이다.

 

그럼 우리는 생각해볼 필요가 있는 부분은

● 청구액 입력공간

● 팁 입력공간,  팁의 퍼센트 

● 나눌 사람 수 

● 소숫점 2번째자리 반올림.

 

 

따라서 코드를 직접 짜보았다.

#변수 선언 및 문장 출력
total_bill = float(input("what was the total bill? : $"))
tip = int(input("what percentage tip would you like to give? 10, 12, or 15? "))
people = int(input("How many people to split the bill? ")) 

#입력받은 팁을 퍼센트로 변경. 10,12,15중에 입력받은값이 없으면 프로그램 종료
if tip == 10:
    tip_percent = 0.10
elif tip == 12:
    tip_percent = 0.12
elif tip == 15:
    tip_percent = 0.15
else:
    print("choose in 10, 12, or 15 ")
    exit()

#최종금액에서 팁 퍼센트 계산
total_bill_tip = total_bill + total_bill * tip_percent
print("Each person should pay: $", round(total_bill_tip / people, 2))

 

각각 코드를 해석해서 보자면

 

 

 

 

#변수 선언 및 문장 출력
total_bill = float(input("what was the total bill? : $"))
tip = int(input("what percentage tip would you like to give? 10, 12, or 15? "))
people = int(input("How many people to split the bill? "))

변수 선언을 하면서 최종액은 float으로 선언.

팁을 입력받을땐 if문에서 정수와 비교를 해야하니 int로 선언

사람수를 입력받을땐 코드마지막 줄에서 최종적금액에서 나누어야하니 숫자로 변환하기 위해 int로 선언.

 

 

 

#입력받은 팁을 퍼센트로 변경. 10,12,15중에 입력받은값이 없으면 프로그램 종료
if tip == 10:
    tip_percent = 0.10
elif tip == 12:
    tip_percent = 0.12
elif tip == 15:
    tip_percent = 0.15
else:
    print("choose in 10, 12, or 15 ")
    exit()

팁을 10퍼센트 12퍼센트,15퍼센트에서 입력받게끔 if절을 썼다.

10을 입력받으면 10퍼센트를 표현해야하니 10 / 100 인 0.10 을 tip_percent라는 변수에 넣고

12를 입력받으면 12퍼센트를 표현하기위해 12 / 100 인 0.12 . . . . 이렇게 썼다.

만약 else로 입력받은 값이 10 12 15중에 없다면 

"10, 12 , 15중에 골라라" 라고 출력하고 프로그램 종료.

 

 

 

total_bill_tip = total_bill + total_bill * tip_percent
print("Each person should pay: $", round(total_bill_tip / people, 2))

진짜최종적으로 최종액과 팁 금액이 합쳐진 금액을 total_bill_tip 라는 변수를 만들고 넣었다.

그 후에 각자 인원수대로 n빵을 하게끔 people로 나누고 round(? , 2) 로 ?자리에 있는 것을 소숫점 2번째까지 반올림해서 

print 시킨다.


 

 

문제 풀이 끝!