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))
def withdraw_night(balance, money): # 저녁에 출금
commission = 100 # 수수료 값 설정
return commission, balance - money - commission
balance = 0 # 잔액
balance = deposit(balance, 1000) # 함수 호출
#balance = withdraw(balance, 2000)
commission, balance = withdraw_night(balance, 500)
print("수수료는 {0} 원이며, 잔액은 {1} 원 입니다.".format(commission, balance))
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), end=" ") # end 사용시 줄바꿈 하지않고 뒤이어서 출력하게 해줌
print(lang1, lang2, lang3, lang4, lang5)
profile("유재석", 20, "Python", "Java", "c", "C++", "C#")
profile("김태호", 25, "Kotlin", "Swift", "", "", "")
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#", "JavaScript")
profile("김태호", 25, "Kotlin", "Swift")
gun = 20
def checkpoint(soldiers): # 근무나가는 군인 수
gun = 10 # (지역변수)
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
print("전체 총 : {0}".format(gun))
checkpoint(2) # 2명이 근무 나감
print("남은 총 : {0}".format(gun))
def checkpoint(soldiers): # 근무나가는 군인 수
global gun # 전역 공간에 있는 gun 사용 (전역변수)
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
print("전체 총 : {0}".format(gun))
checkpoint(2) # 2명이 근무 나감
print("남은 총 : {0}".format(gun))
★ 전역변수를 많이 쓰면 코드 관리가 어려움. 아래의 return 으로 대체가능
gun = 10
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))
#표준 체중을 구하는 프로그램
#표준 체중 : 각 개인의 키에 적당한 체중
#(성별에 따른 공식)
#남자 : 키(m) x 키(m) x 22
#여자 : 키(m) x 키(m) x 21
#조건1 : 표준 체중은 별도의 함수 내에서 계산
# 함수명 : std_weight
# 전달값 : 키(height), 성별(gender)
#조건2 : 표준 체중은 소수점 둘째자리까지 표시
#예제
#키 175cm 남자의 표준 체중은 67.38kg 입니다.
def std_weight(height, gender): # 키는 m 단위 (실수), 성별 "남자" / "여자"
if gender == "남자":
return height height 22
else:
return height height 21
height = 175 # cm 단위
gender = "남자"
weight = round(std_weight(height / 100, gender), 2) # /100 = 단위환산을 위한 계산,
print("키 {0}cm {1}의 표준 체중은 {2}kg 입니다.".format(height, gender, weight))