728x90
반응형
함수
특정한 기능을 수행하는 코드들의 묶음을 말한다.
- 큰 문제를 나누어 해결 가능하다.
- 코드를 재사용 가능하다.
- 안정성
- 유지보수가 좋다.
함수 정의
다음과 같이 정의하고 들여쓰기 하여 사용 하여야한다.
def 함수이름():
함수의 형태
매개변수와 반환값의 유무에 따라 네 가지 형태의 함수가 존재한다.
- 매개 변수와 반환값이 모두 있는 함수
- 반환값만 있는 함수
- 매개변수만 있는 함수
- 모두 없는 함수
함수의 활용
1. 반복
한 프로그램 내에 특정한 작업이 여러번 걸쳐 나오는 경우,
동일한 문장을 함수로 만들어 함수 호출로 여러번 사용 가능함
2. 독립성
- 하나의 함수는 한 가지 기능만을 포함하는 것을 권장한다.
- 각각 독립적이면서 특정한 목적의 코드를 한 곳에만 작성하면 관리하기 쉽고 유지 보수가 편리하다.
- 자료형을 설정할 필요 없다. return 형이 없거나 하나거나 여러개를 만들 수 있다.
- 매개 변수 : 함수를 호출하는 쪽에서 넘겨주는 값이 저장되는 변수 함수의 입력으로 사용되는 값, 호출하는 쪽에서 전달 하는 값
- 인수 : 함수를 호출 할 때, 전달하는 입력 값
- 모듈 : 함수의 집합, 파이썬 프로젝트 하나가 하나의 모듈이다.
(실습 1)함수를 사용하여 물품 관리하기 (딕셔너리 실습3과 같은 결과 값을 출력한다.)
def c_add():
plus = input("추가할 물품을 입력하세요 : ")
plusV = int(input("구입할 물품의 갯수을 입력하세요 : "))
if plus in items:
items[plus] += plusV
def c_buy():
add = input("구매를 원하는 물품을 입력하세요 : ")
if add in items:
v = int(input("구매 수량을 입력하세요 : "))
if items[add] < v:
print("재고가 부족합니다.")
else:
items[add] -= v
if items[add] < 1:
del items[add]
else:
print("없는 물품 입니다.")
items= {'coffe':100,'water':50,'milk':150,'bread':5}
print("<물품 관리>\n")
print("1. 물품 추가\n 2.물품 구매\n 3.물품 재고 확인\n 4. 종료\n")
print("=======================================================")
print(items)
while 1 :
num =int(input("작업 선택 >>"))
if num ==1 :
c_add()
elif num ==2:
c_buy()
elif num ==3:
print(items)
elif num ==4:
break
else :
print("없는 작업입니다. 다시 선택하세요.")
(실습 2) 키와 몸무게를 입력 받아 bmi지수를 출력하세요
def bmi_calc(k,m):
return int(m/k**2)
def bmi_decision(c):
if c >=30:
tResult ="고도비만"
elif 25<= c <30 :
tResult ="과체중"
elif 18.5<= c <25 :
tResult ="정상"
elif c < 18.5 :
tResult = "마름"
print("당신은 {}입니다.".format(tResult))
print("< 실행 결과 >\n")
p_k = int(input("키 입력 >>"))
p_m = int(input("몸무게 입력 >>"))
re = p_k/100
tResult = bmi_calc(re,p_m)
print("당신의 bim지수는 {}입니다.".format(tResult))
bmi_decision(tResult)
(+추가) 모듈에서 함수를 가져와서 사용해보기
<test03.py>
import bmi_test as b #모듈 가져오기 ->같은 경로에 있어야 사용할 수 있음
print("< 실행 결과 >\n")
p_k = int(input("키 입력 >>"))
p_m = int(input("몸무게 입력 >>"))
re = p_k/100
tResult = b.bmi_calc(re,p_m)
print("당신의 bim지수는 {}입니다.".format(tResult))
b.bmi_decision(tResult)
<bmi_test.py>
def bmi_calc(k,m):
return int(m/k**2)
def bmi_decision(c):
if c >=30:
tResult ="고도비만"
elif c >= 25 & c<30 :
tResult ="과체중"
elif 18.5<= c <25 :
tResult ="정상"
elif c < 18.5 :
tResult = "마름"
print("당신은 {}입니다.",tResult)
(실습 3)계약 금액과 사용개월수 만큼의 할인율을 계산하여 최종요금을 계산하기
def s_discount(a,b):
if b<=6 :
return a*1
elif b>6 & b<=12 :
return a/10
elif b>12 :
return a/5
def c_discount(a1,c1):
if c1 == 11 :
return a1/20
elif c1 ==12 :
num = 8/100
return a1*num
elif c1 ==13:
num1 = 12/100
return a1*num1
contractPrice = int(input("계약 금액 입력 : \n"))
period = int(input("사용 개월 수 입력 : \n"))
cardDCode = int(input("카드 코드 입력 : \n"))
tPrice = s_discount(contractPrice,period)
finalPrice = c_discount(contractPrice,cardDCode)
print("최종 요금은 {} 입니다.".format(contractPrice-finalPrice))
728x90
반응형
'PROGRAMING📚 > Python📑' 카테고리의 다른 글
파이썬(Phython) 모듈과 패키지 (0) | 2022.04.14 |
---|---|
파이썬(Phython) 문자열 검사 /변환 / 공백 제거 함수 (0) | 2022.04.14 |
파이썬(Phython) 딕셔너리 사용하기 (0) | 2022.04.14 |
파이썬(Python) matplotlib 이용한 그래프 그리기 (0) | 2022.04.14 |
파이썬(Python) 리스트를 이용한 삽입, 삭제 응용하기 (0) | 2022.04.14 |
댓글