-- 12.사용자정의 함수.ipynb --
def 함수명() :
함수가 호출되면 실행할 문장
...
함수명() #호출
def func1() :
print('1.처음 만드는 함수')
print('2.처음 만드는 함수')
func1()
for i in range(5):
func1()
def 함수명(변수1, 변수2, ...) :
함수가 호출되면 실행할 문장
...
함수명(값1, 값2, ...) #호출
def func2(num) :
print(f'매개변수로 넘어 온 값은 : {num}')
func2(10)
func2(20)
func2(30)
func2(40)
def addAll(start, end) :
sum = 0
for i in range(start, end+1) :
sum += i
print(f'{start}부터 {end}까지의 합은 {sum}입니다.')
addAll(1,100)
addAll(end = 100, start = 1)
def 함수명(변수1, 변수2, ...) :
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(값1, 값2, ...) #호출
변수 = 함수명() #에러
def printMind():
return '설날이 빨리 됐음 좋겠다'
Temp = printMind()
print(Temp)
def addAll_re(start, end) :
sum = 0
for i in range(start, end+1) :
sum += i
return sum
start, end = map(int,input('시작과 끝을 스페이스바로 구분>> ').split(' '))
result = addAll_re(start, end)
print(f'{start}부터 {end}까지의 총 합은 {result}입니다.')
def 함수명(변수1=디폴트값, 변수2=디폴트값, ...):
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(값1, 값2, ...) # 호출
변수 = 함수명() # 호출 (에러가 나지 않는다.)
def multiple(num1,num2):
return num1 * num2
print(multiple(4,9))
def multiple_de(num1=4, num2=3):
return num1 * num2
print(multiple_de())
def multiple_de1(num1, num2=3):
return num1 * num2
print(multiple_de1(8)) # 스크립트나 프로그램에서 중간 결과를 확인하거나 사용자에게 정보를 보여주기 위해 print함수를 사용하는게 일반적이다.
def 함수명(*변수):
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(값1, 값2, ...) # 호출
변수 = 함수명() # 호출
def add(*args): # 가변적인 함수 : 값을 많이 넣어도 해결 OKAY
print(args)
sum = 0
for i in args:
sum += i
return sum
print(add(10,20,30))
def add(nums):
sum = 0
for i in nums:
sum += i
return sum,nums
add([10,20,30,40])
def 함수명(**변수):
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(키1=값1, 키2=값2, ...) # 호출
def func1(**args):
print(args)
print(type(args))
func1(user_id = 'dldbwls', name = '이유진', age = 25)
def 함수명(변수1, 변수2, ...):
함수가 호출되면 실행할 문장
...
return 값1, 값2, ...
변수1, 변수2, ... = 함수명(값1, 값2, ...) # 호출
def getResult(num1, num2):
return num1+num2, num1-num2, num1*num2, num1/num2
getResult(5,7)
plus, minus, multiple, divide = getResult(5,7)
print(plus)
print(minus)
print(multiple)
print(divide)
, , temp, = getResult(4,9) # 물론 다른 값도 변수를 줄 수 있지만 굳이 사용하지 않는다면 를 사용해 메모리 낭비가 되지 않게 하기 위함!
print(temp)
vending_machine(3000) #호출
실행결과
음료수 = 0개, 잔돈 = 3000원
음료수 = 1개, 잔돈 = 2300원
음료수 = 2개, 잔돈 = 1600원
음료수 = 3개, 잔돈 = 900원
음료수 = 3개, 잔돈 = 200원
def vending_machine(money):
price = 700
count = money // price
for i in range(count+1):
change = money - price *i
print(f'음료수 {i:2d}개, 잔돈 = {change:5d}원')
vending_machine(3000)
def vending_machine_w(money):
drink = 0
price = 700
while(money > 0):
print(f'음료수 = {drink:2d}개, 잔돈 = {money:4d}원')
drink += 1
money -= price
vending_machine_w(3000)