def favorite_food() :
print("짜장면")
favorite_food()
# => 짜장면
# 잔액과 결제에 대한 함수를 작성해보았다.
def purchase(balance, price) : # 괄호 안에 전달값을 입력한다.
print(f"{price}원이 결제되었습니다. 잔액은 {balance - price}원 입니다.")
return balance - price # 'return' 뒤에 반환값을 입력한다.
# 잔액을 10000원으로 설정한다.
balance = 10000
# 잔액(balance)과 결제금액(500)을 함수(purchase)에 전달하고
# 반환값을 다시 잔액(balance)에 저장한다.
balance = purchase(balance, 500)
print(f"잔액 : {balance}원")
# => 잔액 : 9500원
# 봉투도 같이 결제하는 함수를 작성해보았다.
def purchase_bag(balance, price) :
bag = 50 # 봉투값을 설정한다.
return bag, balance - price - bag # 이번엔 반환값이 두가지이다.(봉투값, 잔액)
# 함수를 적용시켜 튜플형식으로 반환값을 저장한다.
bag, balance = purchase_bag(balance, 1000)
#양식에 맞게 반환값 두가지를 출력한다.
print(f"봉투 가격 {bag}, 잔액 : {balance}원")
# => 봉투 가격 50, 잔액 : 8450원
def profile(name, grade=3, class=1) :
print(f"{grade}학년 {class}반 {name}")
profile("김철수")
# => 3학년 1반 김철수
def profile(name, grade, class) :
print(f"{grade}학년 {class}반 {name}")
profile(class = 1, grade = 3, name = "김철수")
# => 3학년 1반 김철수
def restaurant(name, *menu) :
print(f"식당 이름 : {name}\t 메뉴 : ", end=" ")
for menu in menu :
print(menu, end=" ")
restaurant("중국집", "짜장면", "탕수육", "짬뽕", "볶음밥")
# => 식당 이름 : 중국집 메뉴 : 짜장면 탕수육 짬뽕 볶음
restaurant("맥도날드", "빅맥", "불고기버거")
# => 식당 이름 : 맥도날드 메뉴 : 빅맥 불고기버거
money = 1000 # 함수 외부에서 선언된 전역변수
# 1. 지역변수 사용
# 지역변수 사용시 함수의 결과가 외부의 전역변수에 영향을 주지 않는다.
def purchase(price) :
money = 1000 # 함수 내부에서 선언된 지역변수
# 함수 내에서 등장하는 money는 모두 이 지역변수를 의미한다.
money = money - price
print(f"남은 돈 : {money}")
purchase(300) # 몇 번을 반복실행해도 700원이 남았다고 출력하게 된다.
# 함수 실행시마다 지역변수 money = 1000이 다시 선언되기 때문이다.
print(money) # 전역변수를 출력해보면 1000원이 그대로 남아있는 것을 볼 수 있다.
# 함수 내에서 전역변수 moeny가 아닌 지역변수 money만 사용했기 때문이다.
# 2. 전역변수 사용
def purchase(price) :
global money # 전역변수 money 사용하겠다 선언
# 함수 내에서 등장하는 money는 모두 처음에 선언한 전역변수를 의미한다.
money = money - price
print(f"남은 돈 : {money}")
purchase(300) # 실행 시 전역변수 money에서 300원씩 빠져나간다.
# 함수 내에서 money = money - price라고 선언했기 때문이다.
print(money) # 전역변수를 출력해보면 함수의 실행 결과가 반영된 것을 볼 수 있다.
# 3. 전달값으로 전역변수 불러오기
def purchase(money, price) : # 전달값으로 전역변수 money를 함수 내부로 불러온다.
money = money - price
print(f"남은 돈 : {money}")
return money # 불러온 전역변수 money를 계산 후 다시 외부로 반환한다.
# 함수 실행 후 전역변수를 반환하지 않으면 해당 변수는 깡통이 된다.
money = purchase(money, 300) # 함수의 실행과 동시에 전역변수 money를 함수 반환값으로 재선언한다.
# 재선언이 없을 시 함수 실행 결과가 전역변수에 반영되지 않는다.
print(money) # 함수의 실행 결과가 전역변수에 반영된 것을 볼 수 있다.
표준 체중을 구하는 코드 작성
성별에 따른 표준 체중 공식
조건 1 : 표준 체중은 별도의 함수 내에서 계산
조건 2 : 표준 체중은 소수점 둘째 자리까지 표시
출력 예제
키 175.5cm 남성의 표준 체중은 67.76kg 입니다.
# 첫번째 풀이 - 함수 내부에서 계산 & 출력
def std_weight(gender, height) :
if gender == "남성" :
print(f"키 {height}cm {gender}의 표준 체중은 {round(height * height * 22 * 0.0001, 2)}kg 입니다.")
else :
print(f"키 {height}cm {gender}의 표준 체중은 {round(height * height * 21 * 0.0001, 2)}kg 입니다.")
std_weight("여성", 165.6)
# => 키 165.6cm 여성의 표준 체중은 57.59kg 입니다.
# 두번째 풀이 - 함수 내부에서 계산 & 반환, 함수 외부에서 출력
def std_weight(gender, height) :
if gender == "남성" :
return round(height * height * 22 * 0.0001, 2)
else :
return round(height * height * 21 * 0.0001, 2)
gender = "남성"
height = 163.6
weight = std_weight(gender, height)
print(f"키 {height}cm {gender}의 표준 체중은 {weight}kg 입니다.")
# => 키 182.6cm 남성의 표준 체중은 73.35kg 입니다.