파이썬 기본 정리(2) - 함수

yerim·2023년 1월 19일
0

파이썬 기본 정리

목록 보기
2/11

나도코딩 '파이썬 코딩 무료 강의(기본편) - 6시간 뒤면 여러분도 개발자가 될 수 있어요' 정리

함수

##함수
def open_account():
    print("새로운 계좌가 생성되었습니다.")
   
open_account()


#입금
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):     
    commision = 100		#수수료 100원
    return commision, balance - money - commision
  
        
        
balance = 0     #현재잔액
balance = deposit(balance, 1000)    # 입금이 완료되었습니다. 잔액은 1000 원입니다.
print(balance)  # 1000

# balance = withdraw(balance, 500)    # 출금이 완료되었습니다. 잔액은 500 원입니다.
commision, balance = withdraw_night(balance, 500)
print("수수료 {0} 원이며, 잔액은 {1} 원입니다." .format(commision, balance))    #수수료 100 원이며, 잔액은 400 원입니다.


기본값

##기본값
#age, main_lang 값을 입력하지 않고 함수를 호출하면
#함수의 기본값 age=17, main_lang="파이썬"이 적용됨
def profile(name, age=17, main_lang="파이썬"):
    print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}" .format(name, age, main_lang))
    
    
profile("유재석")   # 이름 : 유재석   나이 : 17       주 사용 언어 : 파이썬
profile("김태호")   # 이름 : 김태호   나이 : 17       주 사용 언어 : 파이썬


키워드값

##키워드값
#함수를 호출할 때, 키워드를 이용해서 함수의 매개변수 값을 입력할 수 있음
#순서가 섞여있어도 가능
def profile(name, age, main_lang):
    print(name, age, main_lang)
    
    
profile(name="유재석", main_lang="파이썬", age=20)
profile(name="김태호", age=25, main_lang="자바")


가변인자

##가변인자
# def profile(name, age, lang1, lang2, lang3, lang4, lang5):
#     print("이름 : {0}\t나이 : {1}\t" .format(name, age), end=" ")       # end=" " : print문이 줄바꿈을 하고 끝내지 않고 " "로 끝냄
#     print(lang1, lang2, lang3, lang4, lang5)    
    
# profile("유재석", 20, "Python", "Java", "C", "C++", "C#")
# profile("김태호", 25, "Kotlin", "Swift", "", "", "")

#위의 경우 언어가 5개 이하면 나머지는 ""(빈값 처리)하거나
# 언어가 늘어나면 함수자체를 변경해야함


#가변인자 사용
def profile(name, age, *language):  #가변인자 *language 사용
    print("이름 : {0}\t나이 : {1}\t" .format(name, age), end=" ")
    #for문으로 language 출력
    for lang in language:
        print(lang, end=" ")
    print()
    
profile("유재석", 20, "Python", "Java", "C", "C++", "C#", "JavaScript")
profile("김태호", 25, "Kotlin", "Swift")


지역변수와 전역변수

##지역변수와 전역변수
#지역변수 : 함수 내에서만 쓸 수 있는 변수
#전역변수 : 프로그램의 모든 공간에서 사용할 수 있는 변수

gun = 10	#전역변수 gun

#전역변수 사용
def checkpoint(soldiers):   #경계근무
    global gun      #전역 공간에 있는 gun을 checkpoint 함수 내에서 사용한다는 의미
    gun = gun - soldiers
    print("[함수 내] 남은 총 : {0}" .format(gun))


#값을 파라미터로 전달하고 결과값을 반환
def checkpoint_ret(gun, soliders):
    gun = gun - soliders
    print("[함수 내] 남은 총 : {0}" .format(gun))
    return gun
               
print("전체 총 : {0}" .format(gun))
# checkpoint(2)   #2명이 경계 근무 나감
gun = checkpoint_ret(gun, 2)	#전역변수 gun을 파라미터로 전달
print("남은 총 : {0}" .format(gun))


Quiz 6

##Quiz##
#표준 체중을 구하는 프로그램을 작성하시오
#표준 체중: 각 개인의 키에 적당한 체중
# (성별에 따른 공식)
# 남자 : 키(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 == "남자":
        return height * height * 22
    else:
        return height * height * 21

height = 175
gender = "남자"
weight = round(std_weight(height/100, gender), 2)
print("키 {0}cm {1}의 표준 체중은 {2}kg 입니다." .format(height, gender, weight))
profile
hello!

0개의 댓글