1) 내장 함수
2) 사용자 함수
3) 함수를 사용하는 이유
def 함수명(x, y):
return x + y
def addCal(): #함수 선언
n1 = int(input('n1:')) # 함수 실행부
n2 = int(input('n2:'))
print(f'n1 + n2 = {n1 + n2}')
addCal() #함수 호출
2) 함수 호출
def calculator(n1, n2):
result = n1 + n2
return result
returnValue = calculator(10, 20)
print(returnValue)
def calculator(n1, n2):
result = n1 + n2
return result
print('hello') #return 이후에 있어 실행되지 않음
returnValue = calculator(10, 20)
print(returnValue)
def fun1():
print('fun1 호출')
fun2
print('fun2 호출 후 실행) #fun2가 모두 실행되고 난 이후 실행
def fun2():
print('fun2 호출')
fun3
def fun3():
print('fun3 호출')
fun1()
fun1 호출
fun2 호출
fun3 호출
fun2 호출 후 실행
def calFnc():
n1 = int(input('n1:'))
n2 = int(input('n2:'))
print(f'n1 * n2 = {n1 * n2}')
print(f'n1 / n2 = {n1 / n2}')
calFnc()
n1:10
n2:20
n1 * n2 = 200
n1 / n2 = 0.5
예제 2) 구구단 출력 함수가 연쇄적으로 호출되도록 함수를 선언해보자.
def gugudan2():
for i in range(1, 10):
print('2 X {} = {}'.format(i, 2 * i))
gugudan3()
def gugudan3():
for i in range(1, 10):
print('3 X {} = {}'.format(i, 3 * i))
gugudan4()
def gugudan4():
for i in range(1, 10):
print('4 X {} = {}'.format(i, 4 * i))
gugudan5()
def gugudan5():
for i in range(1, 10):
print('5 X {} = {}'.format(i, 5 * i))
gugudan2()
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
예제 3) 사용자가 길이(cm)을 입력하면 mm로 환산한 값을 반환하는 함수를 만들어보자.
def cmToMm(cm):
result = cm * 10
return result
length = float(input('길이(cm): '))
returnValue = cmToMm(length)
print('returnValue: {}mm'.format(returnValue))
길이(cm): 168
returnValue: 1680.0mm
예제 4) 1부터 100까지의 정수 중에서 홀수인 난수를 반환하는 함수를 선언하자.
import random
def getOddRandomNum():
while True:
rNum = random.randint(1, 100)
if rNum % 2 != 0:
break
return rNum
print ('returnValue: {}'.format(getOddRandomNum()))
returnValue: 29