공부하고 있다.
1. 함수 호출
-------------------- 함수안에 print 문을 넣어둠.
def open_account(): #함수 정의
print("새로운 계좌가 생성되었습니다.")
--------------------------- 함수를 호출해야함
def open_account(): #함수 정의
print("새로운 계좌가 생성되었습니다.")
open_account()
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, 500)
commission, balance = withdraw_night(balance, 500)
print("수수료 {0}원 이며, 잔액은 {1}원 입니다." .format(commission, balance))
3. 함수 기본값
# 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("김태호")
4. 키워드를 이용한 함수 호출
#키워드값을 이용한 호출
def profile(name, age, main_lang):
print(name, age, main_lang)
profile(name="유재석", main_lang="파이썬", age=20)
profile(main_lang="자바", age=25, name="김태호")
5. 가변인자 (이해못함)
#가변인자를 이용한 호출
# def profile(name, age, lang1, lang2, lang3, lang4, lang5):
# print("이름 : {0} \t나이 : {1} \t" .format(name, age), end=" ")
# print(lang1, lang2, lang3, lang4, lang5)
# profile("유재석", 20, "python", "java", "c", "C++", "C#")
# profile("김태호", 20, "python", "java", " ", " ", " ")
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, "python", "java")
6. 지역변수 전역변수
-------------- 전역변수 사용
gun = 10 #총이 10자루 (전역변수) , 권장하지 않음
def checkpoint(soldiers):
global gun #전역 공간에 있는 gun 사용
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}" .format(gun))
print("전체 총 : {0}" .format(gun))
checkpoint(2)
print("남은 총 : {0}" .format(gun))
gun = 10 #총이 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))
gun = checkpoint_ret(gun, 2) #권장방법
print("남은 총 : {0}" .format(gun))
7. 퀴즈
"""표준 체중을 구하는 프로그램을 작성하시오
- 표중체중 : 각 개인의 키에 적당한 체중
(성별에 따른 공식)
남자 : 키(m) x 키(m) X 22
여자 : 키(m) x 키(m) X 21
- 조건1 : 표준 체중은 별도의 함수내에서 계산
함수명 : std_weight
전달값 : 키(height), 성별(gender)
- 조건2 : 표준 체중은 소수점 둘째자리까지 표시
- 출력예제 : 키 175cm 남자의 표준 체중은 67.38kg 입니다.
"""
def std_weight(height, gender):
if gender == "남자":
weight = (height/100)**2*22
else:
weight = (height/100)**2*21
print("키 {0}cm {1}의 표준 체중은 {2:.2f}kg 입니다." .format(height, gender, weight))
std_weight(170, "남자")
std_weight(160, "여자")
-------------- 영상 답
def std_weight(height, gender):
if gender == "남자":
return height*height*22
else:
return height*height*21
height = 175
gender = "남자"
weight = std_weight(height/100, gender)
print("키 {0}cm {1}의 표준 체중은 {2:.2f}kg 입니다." .format(height, gender, weight))
** 결과는 같다. 코드가 다른데, 아직까지는 이게 어떤 차이가 있는지는 모르겠다.
0 댓글