def open_account(): # 계좌 개설 함수
print("새로운 계좌를 개설합니다.")
open_account() # open_account() 함수 호출
def deposit(balance, money): # 입금 처리 함수
print("{0}원을 입금했습니다. 잔액은 {1}원입니다.".format(money, balance + money))
return balance + money # 입금 후 잔액 반환
def withdraw(balance, money): # 출금 처리 함수
if balance >= money: # 잔액이 출금액보다 많으면
print("{0}원을 출금했습니다. 잔액은 {1}원입니다.".format(money, balance - money))
return balance - money # 출금 후 잔액 반환
else:
print("잔액이 부족합니다. 잔액은 {0}원입니다.".format(balance))
return balance # 기존 잔액 반환
balance = 0 # 초기 잔액
balance = deposit(balance, 1000) # 1,000원 입금
# 출금
balance = withdraw(balance, 2000) # 2,000원 출금 시도
balance = withdraw(balance, 500) # 500원 출금 시도
실행결과 |
새로운 계좌를 개설합니다. 1000원을 입금했습니다. 잔액은 1000원입니다. 잔액이 부족합니다. 잔액은 1000원입니다. 500원을 출금했습니다. 잔액은 500원입니다. |
예제에서는 출금을 2번 시도합니다. 처음 출금을 시도할 때는 2,000원을 전달값으로 넘깁니다. deposit() 함수를 호출한 후이므로 현재 잔액이 1,000원입니다. 잔액이 출금하려는 금액보다 적으므로 출금하는 데 실패합니다. 두 번째 출금 시도에서는 출금액을 500원으로 전달합니다. 이때는 잔액이 더 많아서 정상적으로 출금되고 출금 후 잔액도 반환됩니다.