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 Nprint("티켓가격은 %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
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 동전 전지기 10번, 앞면/뒷면 연속 나오는 위치 찾기 (0) | 2022.12.29 |
---|---|
[파이썬] 문제 : 과일 속성(단단한과일,물렁한과일 등)으로 과일 추천 (0) | 2022.12.29 |
[파이썬] 문제 : while 무한반복으로 입력된 정수들의 합 구하기 (0) | 2022.12.29 |
[파이썬] 문제 : for문 사용해 1~100사이의 정수 중 5의 배수 추출 (0) | 2022.12.29 |
[파이썬] 문제 : 리스트의 요소로 조합 리스트 만들기 (0) | 2022.12.29 |
댓글