본문 바로가기
프로그램

[파이썬] 문제 : 학년별 할인률 계산

by 오디세이99 2022. 12. 29.
728x90
반응형

(문제)

아래 할인률 table에 맞춰 할인된 티켓 가격을 보여주는 프로그램 작성

  • 입력 조건: 티켓 정상가격, 학년, 논사소 수강 여부
  • 출력 조건: 할인된 티켓 금액
  • 참고로 제시된 프로그램 활용하여 작성

티켓 할인율 Table

논사소 비수강논사소 수강 (총 할인)

1학년 40% 추가 30% (70%)
2학년 30% 추가 30% (60%)
3학년 20% 추가 30% (50%)
4학년 10% 추가 30% (40%)



# 주어진 변수를 이용하여 문제를 풀어주세요
# 이 블락의 코드들은 그대로 가져다가 사용해도 괜찮습니다
# ticket_price = int(input('티켓 가격은 얼마인가요? '))
# grade = int(input('학년은?(1/2/3/4) '))
# Logic_sw = input('논사소 수업을 수강하고 있나요?(y/n) ')
 
 

1. 위 프로그램 코드에서 다음 조건을 만족하도록 프로그램을 수정하시오

  • 티켓 값을 물어봅니다티켓 값이 1000 이상의 정수를 받지 않으면 다시 티켓 값을 물어봅니다. (티켓값은 ,가 들어가면 안됩니다 (예시: 1,000 or 10,000 안됨)
  • 학년을 물어봅니다학년 입력을 1,2,3,4 값이 아닌 다른 정수를 받았을때 다시 학년을 물어봅니다.
  • 논사소 수강 여부를 물어봅니다논사소 수강 여부 입력 시 y, Y, n, N 값이 아닌 문자열 값을 받았을때 다시 수강 여부를 물어봅니다.
  •  
  • # 1번 문제에 대한 답을 이 블락에 적어주세요
  • # while 구문을 쓰시오

    ### 밑의 코드를 수정하지 마세요.
    ### 밑의 코드가 출력이게 되도록 변수 선언을 하시오
    ### ticket_price: 티켓 가격
    ### grade: 학년
    ### Logic_sw: 논사소 수강여부 Y or N
    print("티켓가격은 %d 입니다" %ticket_price)
    print("%d 학년입니다 " %grade)
    print("논사소 %s" %Logic_sw)

 

(방법)

dc_lst = [40, 30, 20, 10]                 # 기본 할인율 리스트

ticket_price = 0
while ticket_price < 1000:                # 1000 이하면 제입력하도록 반복문
    ticket_price = int(input('티켓 가격은 얼마인가요? '))

grade = int(input('학년은?(1/2/3/4) '))
Logic_sw = input('논사소 수업을 수강하고 있나요?(y/n) ')

dc = dc_lst[grade-1]                      # dc_list에서 grade-1로 할인율 찾음. -1은 인덱스는 0부터이기 때문.
if Logic_sw == 'y':                       # 수강했으면 추가 할인률 더함
    dc += 30

ticket_price = ticket_price - (ticket_price * (dc / 100))   # 티켓 가격에서 할인율 가격 뺍.

print("티켓가격은 %d 입니다" %ticket_price)
print("%d 학년입니다 " %grade)
print("논사소 %s" %Logic_sw)

728x90
반응형

댓글