본문 바로가기
프로그램

[파이썬] 문제 : 상품 가격,할인율 등 입력 받아 할인율 계산 출력

by 오디세이99 2023. 11. 7.
728x90
반응형

문제

상품의 가격과 할인율 (단위 : %)을 입력받고 [입력받을때 input().split()사용]
할인된 상품의 가격 리스트 출력하는 코드 작성해주세요
< 조건 >
1) 상품의 개수는 다양하게 입력되게 다양한 입력에도 잘 작동할 수 있는 유연한 코드를 작성해주세요.
2) 할인율 0이 입력되면, 디폴트 값인 10%가 적용되어야 합니다. 
3) 할인율의 범위는 0 이상 100 미만입니다.만약 할인율이 100 이상이 될 경우, 에러를 출력하도록 해주세요. 
4) 디폴트 인수 값을 활용하세요

 

코드

product_lst = []               # 입력 받은 값들을 저장하기 위한 리스트
dc_default = 10                # 디폴트 할인율 10% 지정

while True:                   # 조건 1. 상품 개수 다양하게 입력 가능
    lst_tmp = input('가격과 할인율 입력(예:사과 100 5) (종료:enter) : ').split()   # 입력 받기

    if len(lst_tmp) == 0:      # 공백 입력하면 입력 받는 거 종료
        break
    
    product = lst_tmp[0]        # 입력 받은 첫번째는 상품명    
    price = int(lst_tmp[1])     # 가격
    dc_tmp = int(lst_tmp[2])    # 할인율

    if dc_tmp > 100:           # 조건 3. 할인융 100 넘으연 에러 출력
        print('할인율이 100% 이상입니다. 0~100 사이의 값을 입력하세요.')
        
    if dc_tmp == 0:            # 조건 2. 할인율 0 이면 디폴트값 10% 지정
        dc = dc_default         #
    else:
        dc = dc_tmp
        
    product_lst.append([product, price, dc])       # 입력 받은 값들을 상품정보 리스트에 추가
    
for i in range(len(product_lst)):         # 출력을 위해 입력 받은 상품수 만큼 반복
    product = product_lst[i][0]            # 2차원 리스트에서 각각의 정보 추출
    price = product_lst[i][1]
    dc = product_lst[i][2]
    price_dc = price - (price*(dc/100))    # 할인율 계산.
    print(f"{product}: {price}(dc:{dc}%) : {price_dc}")   # 출력

728x90
반응형

댓글