[파이썬] 기초 공부, 함수호출 등

공부하고 있다. 

1. 함수 호출 

-------------------- 함수안에 print 문을 넣어둠. 

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


실행해도 아무것도 안됨











--------------------------- 함수를 호출해야함

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

open_account()






2.전달값과 반환값

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


def deposit(balancemoney):
    print("입금이 완료되었습니다. 잔액은 {0}원 입니다." .format(balance + money))
    return balance + money

def withdraw(balancemoney):
    if balance >= money:      #잔액이 출금보다 많으면
        print("출금이 완료되었습니다. 잔액은 {0}원 입니다." .format(balance - money))
        return balance - money
    else:
        print("출금이 완료되지 않았습니다. 잔액은 {0}원 입니다." .format(balance))
        return balance
        
def withdraw_night(balancemoney): #저녁출금 수수료
    commission = 100 
    return commissionbalance - money - commission

balance = 0 #잔액
balance = deposit(balance1000)
# balance - withdraw(balance, 500)
commissionbalance = withdraw_night(balance500)
print("수수료  {0}원 이며, 잔액은 {1}원 입니다." .format(commissionbalance))






3. 함수 기본값 

# def profile(name, age, main_lang):
#     print("이름: {0} \t나이: {1} \t주 사용언어: {2}" .format(name, age, main_lang))

# profile("유재석", 20, "파이썬")
# profile("김태호", 25, "자바")

#같은 학교, 같은 학년, 같은 반, 같은 수업을 듣는다고 가정할 경우

def profile(nameage=17main_lang="파이썬"):
    print("이름: {0} \t나이: {1} \t주 사용언어: {2}" .format(nameagemain_lang))

profile("유재석")
profile("김태호")





4. 키워드를 이용한 함수 호출

#키워드값을 이용한 호출

def profile(nameagemain_lang):
    print(nameagemain_lang)

profile(name="유재석"main_lang="파이썬"age=20)
profile(main_lang="자바"age=25name="김태호")





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(nameage, *language):
    print("이름 : {0} \t나이 : {1} \t" .format(nameage), end=" ")
    for lang in language:
        print(langend=" ")
    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(gunsoldiers):
    gun = gun - soldiers
    print("[함수 내] 남은 총 : {0}" .format(gun))
    return gun

print("전체 총 : {0}" .format(gun))
gun = checkpoint_ret(gun2)  #권장방법
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(heightgender):

    if gender == "남자":
        weight = (height/100)**2*22
    else:
        weight = (height/100)**2*21
    print("키 {0}cm {1}의 표준 체중은 {2:.2f}kg 입니다." .format(heightgenderweight))

std_weight(170"남자")
std_weight(160"여자")





-------------- 영상 답

def std_weight(heightgender):
    if gender == "남자":
        return height*height*22        
    else:
        return height*height*21

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






** 결과는 같다. 코드가 다른데, 아직까지는 이게 어떤 차이가 있는지는 모르겠다. 

댓글 쓰기

0 댓글