본문 바로가기

Computer Science&Engineering/파이썬

파이썬 계좌 입출금 프로그램 구현

조건

통장에 10,000원이 들어있다.
input()를 통해서 입력을 '출금'과 '입금'을 입력받고, 금액부분을 입력받도록 하시오. 
출금을 하면 "XXX원이 출금되었습니다. 현재 잔고는 XXX입니다." 출력 
입금을 하면 "XXX원이 입금되었습니다. 현재 잔고는 XXX입니다." 출력 
출금시에 잔고가 부족하면 "현재 잔고 부족입니다. XXX가 부족합니다." 라고 출력 
통장잔고가 0원이 되면 "통장을 파기합니다" 출력
사용자로부터 종료 받기 전까지 무한 반복하는 코드 작성

코드

deposit = 10000

while True:
    action = int(input("입금이면 1, 출금이면 2 (종료는 아무거나 누르세요): "))

    if action not in (1, 2):
        print("종료합니다.")
        break
    else:
        price = int(input("금액: "))
        if price < 0 :
            print("금액을 0보다 크게 적으세요.")
            continue

        if action == 1:
            deposit = deposit + price
            print("{}원이 입금되었습니다. 현재 잔고는 {}입니다.".format(price, deposit))

        elif action == 2:
            if (deposit - price) < 0:
                print("현재 잔고 부족입니다. {}가 부족합니다.".format(deposit-price))
            elif (deposit - price) == 0:
                print("통장을 파기합니다.")
                break
            else:
                deposit = deposit - price
                print("{}원이 출금되었습니다. 현재 잔고는 {}입니다.".format(price, deposit))

실행결과

입금이면 1, 출금이면 2 (종료는 아무거나 누르세요): 3
종료합니다.
>>> 
입금이면 1, 출금이면 2 (종료는 아무거나 누르세요): 1
금액: 1000
1000원이 입금되었습니다. 현재 잔고는 11000입니다.
입금이면 1, 출금이면 2 (종료는 아무거나 누르세요): 2
금액: 20000
현재 잔고 부족입니다. -9000가 부족합니다.
입금이면 1, 출금이면 2 (종료는 아무거나 누르세요): 1
금액: -3000
금액을 0보다 크게 적으세요.
입금이면 1, 출금이면 2 (종료는 아무거나 누르세요): 3
종료합니다.
>>> 

반응형