본문 바로가기
개발일지/Python

파이썬 if문과 elif문의 활용 (거스름돈 버전)

by 개발에정착하고싶다 2022. 4. 30.
320x100
money50000 = 50000; money10000 = 10000; money5000 = 5000; money1000 = 1000
money500 = 500; money100 = 100; money50 = 50; money10 = 10

money50000Cnt = 0; money10000Cnt = 0; money5000Cnt = 0; money1000Cnt = 0
money500Cnt = 0; money100Cnt = 0; money50Cnt = 0; money10Cnt = 0

productPrice = int(input('상품 가격 입력: '))
payPrice = int(input('지불 금액 입력: '))

if payPrice > productPrice:
    changeMoney = payPrice - productPrice
    changeMoney = (changeMoney // 10) * 10
    print(f'거스름 돈: {changeMoney}원 (원단위 절사)')

if changeMoney > money50000:
    money50000Cnt = changeMoney // money50000
    changeMoney %= money50000

if changeMoney > money10000:
    money10000Cnt = changeMoney // money10000
    changeMoney %= money10000

if changeMoney > money5000:
    money5000Cnt = changeMoney // money5000
    changeMoney %= money5000

if changeMoney > money1000:
    money1000Cnt = changeMoney // money1000
    changeMoney %= money1000

if changeMoney > money500:
    money500Cnt = changeMoney // money500
    changeMoney %= money500

if changeMoney > money100:
    money100Cnt = changeMoney // money100
    changeMoney %= money100

if changeMoney > money50:
    money50Cnt = changeMoney // money50
    changeMoney %= money50

if changeMoney > money10:
    money10Cnt = changeMoney // money10
    changeMoney %= money10

print('-'*30)
print(f'50,000원 {money50000Cnt}장')
print(f'10,000원 {money10000Cnt}장')
print(f'5,000원 {money5000Cnt}장')
print(f'1,000원 {money1000Cnt}장')
print(f'500원 {money500Cnt}개')
print(f'100원 {money100Cnt}개')
print(f'50원 {money50Cnt}개')
print(f'10원 {money10Cnt}개')
print('-'*30)

위와같은 코드를 작성할때 나는 작동이 정상적으로 안되었다.

그 이유는

 

답안코드의 중간을 보면 if의 향연인데.

if로 계속 쓸경우, 어느 if문에나 걸리게 된다.

그래서 실행이 되게 되고

 

하지만 나는 if에 그 안에 if를 넣는 방법을 쓰자니, 강사님이 3단 이상으로 중첩코드를 안쓰는게 좋다고해서 이게 맞는건 아닌것 같았고

 

if에 elif로 하자니, 하나의 if안에 걸리는거가 지나면 세부적으로는 그냥 넘어가더라.

300x250