inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

전달값과 반환값

commission, balance - money - commission이 햇갈립니다 ㅠㅠ

174

Rudelia

작성한 질문수 1

0

코드를 아래와 같이 작성해서 원하는 옵션 선택 및 출금이 가능하게 만들었습니다..! 그러나

잘 이해가 가지 않아서 글을 남깁니다..

withdraw_night함수 부분을 보면 마지막에 리턴값으로

commission, balance - money - commission

을 반환해주는데

commission값을 반환해주는건 알겠는데

balance - money - commission부분은

balance에 money를 빼고 commission부분을 빼고 난 값을 balance에 넣어서 리턴해주는 것인가요?

def open_account():
    print("------------------------------------")
    print("\n새로운 계좌가 생성되었습니다.\n")

def deposit(balance, money):
    print("------------------------------------")
    print("\n입금이 완료되었습니다. 잔액은 {0} 원입니다.\n".format(balance + money))
    print("------------------------------------")
    return balance + money

def winthdraw(balance, money):
    if balance >= money:
        print("------------------------------------")
        print("\n출금이 완료되었습니다. 잔액은 {0} 원입니다.\n".format(balance - money))
        print("------------------------------------")
        return balance - money
    else:
        print("------------------------------------")
        print("\n출금이 완료되지 않았습니다. 잔액은 {0}원입니다.\n".format(balance))
        print("------------------------------------")
        return balance
def withdraw_night(balance, money):
    commission = 100 # 수수료
    if balance >= money + 100:
        print("------------------------------------")
        print("\n출금이 완료되었습니다. 잔액은 {0} 원입니다.\n".format(balance - money - commission))
        print("------------------------------------")
        return commission, balance - money - commission
    else:
        print("------------------------------------")
        print("\n잔액이 부족합니다. 현재 잔액은 {0}원 입니다.\n".format(balance))
        print("------------------------------------")
        return balance, money
   

balance = 0 # 잔액
while (1):
    print("원하시는 옵션을 선택하십시오.\n")
    print("1. 계좌 개설")
    print("2. 잔액 조회")
    print("3. 입금")
    print("4. 출금")
    print("5. 야간 출금(수수료 100원)")
    print("6. 나가기")
    want = int(input())
     
    if want == 1:
        open_account()
    elif want == 2:
        print("------------------------------------")
        print("현재 통장 잔액은 {0}원 입니다.".format(balance))
        print("------------------------------------")
    elif want == 3:
        want2 = int(input("원하는 입금 금액을 입력하세요.\n"))
        balance = deposit(balance, want2)
    elif want == 4:
        want3 = int(input("원하시는 출금 금액을 입력하십시오.\n"))
        balance = winthdraw(balance, want3)
    elif want == 5:
        want4 = int(input("원하시는 출금 금액을 입력하세요.\n"))
        commission, balance = withdraw_night(balance, want4)
    elif want == 6:
        print("감사합니다.")
        break

 

python

답변 0

quiz 8 오류 문제

0

84

1

str() 작성 위치

0

67

1

아나콘다

0

79

1

윈도우 설치 도와주세요

0

91

1

std_weight함수에서weight만return가능한가요?

0

76

1

오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.

0

45

1

설치해서 시작하는데 문제가 있습니다.

0

77

1

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

0

126

1

2장 환경설정 문의

0

84

1

스타크래프트 프로젝트

0

87

1

python 파일명.py 입력시 Python 출력

0

149

1

로드맵 질문있습니다!

0

98

2

오류

0

81

1

질문 있습니다.

0

83

1

블로그에 학습한 내용을 정리해도 괜찮을까요?

0

182

1

#퀴즈 3의 5번 질문

0

74

1

print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다

0

88

1

가변인자의 위치가 중요한가요?

0

86

1

vscode옛날 버전 설치

0

243

1

글자색상이 선생님처럼 안나옵니다

0

199

1

슬프네

0

162

1

quiz 6번 관련 문의입니다.

0

137

1

퀴즈#3에 대해서 이렇게 작성해도 되나요?

0

205

1

피드백 부탁드립니다

0

96

1