함수는 '기능'이라고 생각하자
def printUserName(name):
print(f'{name}고객님, 안녕하세요.')
def addCal(n1, n2):
result = n1 + n2
print(f'n1 + n2 = {result}')
= 기능을 만들어놓고 필요할 때 재사용한다
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
=
def addCal():
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
addCal()
addCal()
addCal()
addCal()
addCal()
함수를 선언하고 호출하는 방법을 알아두자
def addCal():
n1 = int(input('n1 입력:'))
n2 = int(input('n2 입력:'))
print(f'n1 + n2 = {n1 + n2}')
addCal()
def printweatherInfo():
print('오늘 날씨는 맑습니다.')
printweatherInfo()
printweatherInfo()
printweatherInfo()
def calFuc():
n1 = int(input('n1 입력: '))
n2 = int(input('n2 입력: '))
print(f'n1 * n2 = {n1 * n2}')
print(f'n1 / n2 = {round(n1 / n2, 2)}')
calFuc()
calFuc()
calFuc()
또 다른 함수를 호출하자
def fun1(): #1 출력
print('fun1 호출!')
fun2() #2 받고 #마지막에 출력
print('fun2 호출 후에 실행!')
def fun2(): #2 출력
print('fun2 호출!')
fun3() #3 받고
def fun3(): #3 출력
print('fun3 호출!')
fun1() #1 받고
-->
fun1 호출!
fun2 호출!
fun3 호출!
fun2 호출 후에 실행!
fun2() print가 왜 마지막에 실행되는지 아직 이해가 안 됨
def todayWeather():
pass
todayWeather()
def gugudan2():
for i in range(1, 10):
print('2 * {} = {}'.format(i, 2 * i))
gugudan3()
def gugudan3():
for i in range(1, 10):
print('3 * {} = {}'.format(i, 3 * i))
gugudan4()
def gugudan4():
for i in range(1, 10):
print('4 * {} = {}'.format(i, 4 * i))
gugudan5()
def gugudan5():
for i in range(1, 10):
print('5 * {} = {}'.format(i, 5 * i))
gugudan2()
-->
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
함수 호출 시 데이터를 넘겨주자
def greet(customer): # 'customer' = 매개변수
print(f'{customer} 고객님 안녕하세요.')
greet('홍길동') # '홍길동' = 인수
def greet(customer1, customer2):
print('{}, {}님 안녕하세요'.format(customer1, customer2))
greet('홍길동', '박찬호')
-->
홍길동, 박찬호님 안녕하세요
def calculater(n1, n2):
print(f'{n1} + {n2} = {n1 + n2}')
print(f'{n1} - {n2} = {n1 - n2}')
print(f'{n1} * {n2} = {n1 * n2}')
print(f'{n1} / {n2} = {n1 / n2}')
calculater(10, 20)
-->
10 + 20 = 30
10 - 20 = -10
10 * 20 = 200
10 / 20 = 0.5
인수의 개수가 정해지지 않았을 때, 매개변수 앞에 *을 붙여준다.
def printNumber(*numbers):
print(type(numbers))
for number in numbers:
print(number, end='')
print()
printNumber()
printNumber(10)
printNumber(10, 20)
printNumber(10, 20, 30)
-->
<class 'tuple'>
10
<class 'tuple'>
1020
<class 'tuple'>
102030
def printScore(kor, eng, mat):
sum = kor + eng + mat
avg = sum / 3
print(f'총점: {sum}')
print(f'평균: {round(avg, 2)}')
korScore = int(input('국어 점수 입력: '))
engScore = int(input('영어 점수 입력: '))
matScore = int(input('수학 점수 입력: '))
printScore(korScore, engScore, matScore)
함수 실행결과를 돌려주자!
1.
def calculator(n1, n2):
print(n1 + n2)
calculator(10, 20) #결과를 바로 출력하겠다 리턴x
-->
30
2.
def calculator(n1, n2):
result = n1 + n2
return result
print(calculator(10, 20)) #result값이 cal~에 다시 할당
-->
30
3.
def calculator(n1, n2):
result = n1 + n2
return result
returnValue = calculator(10, 20) #또 다른 변수에 할당
print(f'returnValue: {returnValue}')
-->
returnValue: 30
def divideNum(n):
if n % 2 == 0:
result = '짝수'
else:
result = '홀수'
return result
# print('hi')
returnValue = divideNum(5)
print(returnValue)
-->
divideNum()에 짝수 숫자를 넣든, 홀수 숫자를 넣든, 둘 중 하나에서 return되기 때문에, print('hi)는 출력되지 않는다.
def cmToMm(cm):
result = cm * 10
return result
length = float(input('길이(cm) 입력: '))
returnValue = cmToMm(length)
print(f'returnValue: {returnValue}mm')
-->
길이(cm) 입력: 10.5
returnValue: 105.0mm
import random
def getOddRandomNumber():
while True:
rNum = random.randint(1, 100)
if rNum % 2 != 0:
break
return rNum
print(f'returnValue: {getOddRandomNumber()}')
-->
returnValue: 71