GURU/PYTHON & HTML

[PYTHON Unit 11: 파이썬 실전] 입장료 계산 프로그램

myejinni 2022. 1. 11. 14:53

입장료 계산 프로그램(리스트, 함수, 조건문, 반복문 실습)

#입장료 안내문

def updateQty(age):
    global fare_qty
    
    if age >= 65:
        fare_qty[0] += 1 #갱신

    elif age >= 18:
        fare_qty[1] += 1
        
    elif age >= 8:
        fare_qty[2] += 1

    else:
        fare_qty[3] += 1

def showQty():
    for i in range(0,num_type): #i = 0,1, 2, 3
        print("%s %d원: %d명" %(fare_type[i], fare[i], fare_qty[i]))


if __name__ == "__main__":
    fare_type = ["경로","성인","청소년","아동"]
    num_type = len(fare_type) #num_type = 4

    fare = [3000, 5000, 2000, 1000]
    fare_qty = [0,0,0,0]

    total_fare = 0

    print("====== 입장료 ======")
    for i in range(0, num_type): # i=0,1,2,3 으로 증가하며 각 fare_type 에 맞는 fare 출력
        print("%s : %d원" %(fare_type[i],fare[i]))
    print("====================\n")


    while True:
       age = int(input("\n나이를 입력하세요(종료 버튼 -1): "))

       if age == -1:
           break
        
       updateQty(age)
       showQty()

    for i in range(0, num_type): #i=0,1,2,3
        total_fare += fare[i] * fare_qty[i]
        
    print("총 금액은 %d원 입니다.\n" %total_fare)

 

실행 결과는 위와 같다.

루프를 돌며 나이를 입력받고, 코드 내 설정한 나이의 범위에 해당되는 경우 경로, 성인, 청소년, 아동의 수가 증가한다.

-1를 입력 시 총 금액이 출력되며 더 이상 루프를 돌지 않는다.