
7. 함수
【배우기】
엔트리로 해보자
파이선으로 해보자
함수란 어떤 일을 수행하는 명령들을 하나로 묶어서 이름을 부여하고 필요할 때마다 그 함수를 호출하여 사용할 수 있는 프로그래밍 방법이다. 반복적으로 사용되는 일을 함수로 만들어 놓으면 그 일의 순서나 방법을 다시 기억할 필요 없이 편리하게 사용할 수 있다.


1엔트리로 해보자

나의 공책 오브젝트를 배경으로 추가한다.

도형을 그리기 위한 연필 오브젝트를 추가한다.

오브젝트를 추가한 후 연필 오브젝트의 가운데 위치한 중심점을 마우스로 드래그하여 연필심 쪽으로 옮겨서 도형을 그리는 모습이 자연스럽게 해주도록 한다.

[예제코드]
① [시작] 꾸러미 - [시작하기 버튼을 클릭했을 때] 블록
② [자료] 꾸러미 - [O을(를) 묻고 대답 기다리기] 블록 2개 연결하기
③ [O을(를) 묻고 대답 기다리기]블록의 O에 몇 각형을 그릴까요? 입력


[예제코드]
① [함수] 꾸러미 - [함수 만들기] 실행
② [붓] 꾸러미 - [그리기 시작하기] 블록
③ [붓] 꾸러미 - [붓의 색을 O(으)로 정하기] 블록
④ [붓] 꾸러미 - [붓의 굵기를 O(으)로 정하기] 블록
⑤ [흐름] 꾸러미 - [O번 반복하기] 블록
⑥ [O번 반복하기] 블록의 O에 [함수] 꾸러미의 [문자/숫자 값1] 블록 입력하기
⑦ [움직임] 꾸러미 - [이동 방향으로 O 만큼 움직이기] 블록
⑧ [이동 방향으로 O 만큼 움직이기] 블록의 O에 50 입력하기
⑨ [움직임] 꾸러미 - [이동 방향을 O 만큼 움직이기] 블록
⑩ [계산] 꾸러미 - [O/O] 블록으로 [360/문자/숫자 값1] 블록 만들기
⑪ [이동 방향을 O 만큼 움직이기] 블록의 O에[360/문자/숫자 값1] 블록 입력하기







2파이선으로 해보자
함수란 어떤 일을 수행하는 코드의 묶음을 말한다. 파이선을 처음 시작할 때 “Hello World!”를 화면에 출력하기 위해 print( )라는 함수를 사용했다. 파이선에서는 이렇게 만들어진 함수(내장함수)를 사용할 수도 있고, 직접 함수를 정의하여 사용하는 방법도 있다
함수는 매개변수를 입력받은 후 그 매개변수를 가공 및 처리한 후에 반환 값을 돌려준다. 커피자판기를 함수의 예로 든다면, 커피자판기에 넣는 동전과 버튼이 매개변수이며, 반환 값으로 커피가 나오는 것이다.
def 함수이름(매개변수 목록):
# 코드블록
return 결과
# 기호는 주석을 의미한다. 프로그램에서 # 기호를 만나면 그 줄은 해석하지 않고 무시한다. 주석은 프로그램을 이해하는 데 도움이 되는 내용을 적어두거나 프로그램을 보게 될 다른 사람에게 전달할 내용을 적어두기 위한 메모와 같은 기능으로 사용한다. 따라서 프로그램을 입력할 때 # 기호 이후의 내용은 입력하지 않아도 프로그램의 실행 결과에는 전혀 영향을 미치지 않는다.
def로 함수를 정의할 수 있다. 다음 함수 정의 예시는 아래와 같은 과정으로 실행된다. 다음은 함수 정의하기와 관련된 예제 코드다.
##함수 정의
def testhap(v1,v2) :
result=0
result=v1+v2
return result
##변수 선언
a=0
##메인 코드
a=testhap(10,20)
p r i n t ( “ 10 과 20의 testhap() 함수 결과는 %d” % a)

> 7_1.py
10과 20의 testhap( ) 함수 결과는 30
11행의 testhap(10, 20)으로 함수를 호출하면 10과 20이라는 매개변수를 가지고 testhap( ) 함수를 호출한다.
def로 정의한 testhap 함수는 매개변수 v1과 v2의 합을 result에 대입한 후, return result 문장에 의해 이 함수를 호출했던 11행으로 돌아간다.
함수를 실행하여 얻은 result 값(30)을 testhap( ) 함수를 호출했던 곳으로 반환한다.
반환된 값 30을 변수 a에 대입한다.
def gop(v1,v2) :
result=0
result=v1*v2
return result
a,a1,a2=0,0,0
a1=int(input(“첫 번째 숫자:”))
a2=int(input(“두 번째 숫자:”))
a=gop(a1,a2)
print(“%d * %d = %d” % (a1,a2,a))
def kun(v1,v2) :
result=0
if v1>=v2 :
result=v1
else :
result=v2
return result
a,a1,a2=0,0,0
a1=int(input(“첫 번째 숫자:”))
a2=int(input(“두 번째 숫자:”))
a=kun(a1,a2)
print(“%d , %d 중 큰 수는 %d” % (a1,a2,a))
1) 주어진 수가 짝수인지 홀수인지 판별해주는 함수를 만들어 보자.
2) 세 정수를 입력받고 입력받은 수의 평균값을 계산해 주는 함수를 만들어 보자.
3) 계산기 함수를 만들어 원하는 연산식(더하기, 빼기, 곱하기, 나누기)을 선택하고 두 수를 입력받으면 자동으로 계산해주는 함수를 만들어 보자.