일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 프로그래머스
- 렛츠기릿 자바스크립트
- SQL 고득점 Kit
- 타입스크립트 올인원
- 리트코드
- 2주 프로젝트
- 정재남
- LeetCode
- 토익
- javascript
- 4주 프로젝트
- 제로초
- 리액트
- 코드스테이츠
- 자바스크립트
- 타임어택
- til
- 백준
- 알고리즘
- 파이썬
- 코어 자바스크립트
- python
- codestates
- js
- programmers
- 타입스크립트
- Async
- 리덕스
- 손에 익히며 배우는 네트워크 첫걸음
- 회고
Archives
- Today
- Total
Jerry
python #2 본문
반응형
# 함수 : 어떤 역할을 하는 박스
def open_account():
print("새로운 계좌가 생성되었습니다.")
def deposit(balance, money):
print("입금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance + money))
return balance + money
def withdraw(balance, money):
if balance > money :
print("출금이 완료되었습니다. 잔액은 {0}원입니다.".format(balance - money))
return balance - money
else:
print("출금이 완료되지 않았습니다. 잔액은 {0} 원입니다.".format(balance))
return balance
def withdraw_night(balance, money):
commission = 100
return commission, balance - money - commission
balance = 0 # 은행 잔고
balance = deposit(balance, 1000)
# balance = withdraw(balance, 2000)
# balance = withdraw(balance, 500)
print(balance)
commission, balance = withdraw_night(balance, 500)
# commission = withdraw_night(balance, 500)
print(commission, balance)
print("수수료는 {0} 원이며, 잔액은 {1} 원입니다.".format(commission, balance))
'''
안녕하세요!
withdraw_night 함수의 리턴 부분을 보시면
두 개의 결과값을 반환해주고 있습니다!
def withdraw_night(balance, money):
...
return comission, balance-money-comission
파이썬에서 여러 개의 리턴값을 반환할 때는
실제로는 튜플 ( (a, b) 와 같은 형태) 타입이 반환됩니다.
튜플을 변수에 할당할 때, 순서에 맞게 각각 값을 할당할 수 있습니다.
이를 unpacking 한다고 합니다. # 여러개의 객체를 포함하고 있는 하나의 객체를 풀어줍니다.
(예시)
val1, val2 = (10, 20)
질문해주신 것 처럼 튜플 형태로 하나의 변수에 할당 할 수도 있습니다.
하나의 변수로 함수 리턴값을 받고, 이후에 각각 원하는 변수에 할당 할 수도 있겠죠?
'''
# def profile(name, age, main_lang):
# print("이름 : {0}\t나이 : {1}\t주 사용 언어: {2}".format(name, age, main_lang))
# profile("유재석", 20, "파이썬")
# profile("김태호", 25, "자바")
# def profile(name, age=17, main_lang="파이썬"):
# print("이름 : {0}\t나이 : {1}\t주 사용 언어: {2}".format(name, age, main_lang))
# profile("유재석")
# profile("김태호")
# def profile(name, age, main_lang):
# print(name, age, main_lang)
# profile(name="유재석", main_lang="파이썬", age=20)
# profile(main_lang="자바", age=25, name="김태호")
# 가변인자
def profile(name, age, lang1, lang2, lang3, lang4, lang5):
print("이름 : {0}\t나이 : {1}\t".format(name, age))
# print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ") # 줄바꿈 방지
print(lang1, lang2, lang3, lang4, lang5)
def profile(name, age, *language):
print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ")
for lang in language:
print(lang, end=" ")
print() # 줄바꿈을 위해서
profile("유재석", 20, "Python", "Java", "C", "C++", "C#")
profile("김태호", 25, "Kotlin", "Swift", "", "", "")
# 지역변수(함수 내에서), 전역변수(모든 공간)
gun = 10
def checkpoint(soldiers): # 경계근무
global gun # 전역 공간에 있는 gun 사용
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
def checkpoint_ret(gun, soldiers):
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
return gun
print("전체 총 : {0}".format(gun))
# checkpoint(2) # 2명이 경계근무 나감
gun = checkpoint_ret(gun, 2)
print("남은 총 : {0}".format(gun))
def std_weight_formula(height, gender):
if (gender == "남성"):
return height * height * 22
# return round(height * height * 22, -2)
elif (gender == "여성"):
return height * height * 21
height = 175
gender = "남성"
std_weight = round(std_weight_formula(height/100, gender), 2)
print("키 {0}cm {1}의 표준 체중은 {2}kg입니다.".format(height, gender, std_weight))
반응형
'etc > python' 카테고리의 다른 글
python #3 (0) | 2021.12.23 |
---|---|
[python] 기본 다지기 #1 (0) | 2021.12.22 |