
2. 반복구조
【배우기】
엔트리로 해보자
파이선으로 해보자
반복구조는 어떤 일을 정해진 횟수만큼 반복해서 하거나 무한 반복하는 구조를 말한다. 집안에서 움직이는 로봇청소기가 전원을 끌 때까지 반복해서 일을 한다거나 거리의 신호등이 일정한 간격으로 계속 반복되는 것이 반복구조의 예라고 할 수 있다.

1엔트리로 해보자

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

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

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

[예제코드]
① [시작] 꾸러미 - [시작하기 버튼을 클릭했을 때] 블록
② [붓] 꾸러미 - [그리기 시작하기] 블록
③ [움직임] 꾸러미의 [이동방향으로 O만큼 움직이기] 블록
④ [이동방향으로 O만큼 움직이기]의 O에 50 입력하기


[예제코드]
① [움직임] 꾸러미 - [이동방향을 O만큼 회전하기] 블록
② [이동방향을 O만큼 회전하기]의 O에 120도 입력하기
③ [흐름] 꾸러미 - [O번 반복하기] 블록과
④ [O번 반복하기] 의 O에 3 입력하기


[예제코드]
① [시작] 꾸러미 - [시작하기 버튼을 클릭했을 때] 블록
② [붓] 꾸러미 - [그리기 시작하기] 블록
③ [움직임] 꾸러미의 [이동방향으로 O만큼 움직이기] 블록
④ [이동방향으로 O만큼 움직이기]의 O에 50 입력하기


[예제코드]
① [움직임] 꾸러미 - [이동방향을 O만큼 회전하기] 블록
② [이동방향을 O만큼 회전하기]의 O에 90도 입력하기
③ [흐름] 꾸러미 - [O번 반복하기] 블록
④ O에 4 입력하기





2파이선으로 해보자
주로 사용하는 for 문의 형식은 다음과 같다.
for 변수 in range(a,b,c) :
반복되는 부분
for i in range(0,3,1) :
print(“만나서 반갑습니다.”)

> 2_1.py
만나서 반갑습니다.
만나서 반갑습니다.
만나서 반갑습니다.
print( ) 함수는 모니터에 결과물을 출력합니다. ( )안에 “(큰따옴표)나 ‘(작은따옴표)로 묶어준 것은 텍스트로 인식되어서 그대로 출력된다. range(0,3,1)로 코딩했으므로 0부터 2까지 총 3번 반복이 일어난다.
i=0
sum=0
for i in range(1, 11, 1) :
sum=sum+i
print(“1에서 10까지 자연수의 합은 :
%d” % sum)

> 2_2.py
1에서 10까지 자연수의 합은 : 55
1행과 2행에서는 i와 sum을 0으로 정한다. 그리고 4행과 5행이 반복된다. 처음에는 i값 1을 현재 sum의 값인 0과 더해 다시 sum에 대입한다. 두 번째 반복될 때에는 i값 2를 현재 sum값인 1과 더해 다시 sum에 대입한다. 0+1=1, 1+2=3, 3+3=6, 6+4=10과 같은 과정이 10번 반복되면 1에서 10까지 더한 값이 sum에 들어가게 된다. 또한 변수의 값을 문자열에 포함하려고 한다면, 나중에 추가할 값에 대한 표시인 %s(문자열)나 %d(정수), %f(실수)를 이용해 문자열에 값을 포함시킬 수 있다. 위 예제에서는 1에서 10까지의 자연수의 합인 정수 변수가 사용되므로 %d가 사용되었다.
1부터 10까지 수의 합은 단순히 덧셈을 통해 계산하더라도 많은 시간이 걸리지는 않는다. 하지만 만약 1부터 10000까지 수의 합을 구한다고 할 때, 이것을 일일이 계산하기에는 너무 많은 시간이 소요된다. 이것이 반복문을 사용하는 가장 큰 이유다.
i=0
sum=0
for i in range(1, 11, 2) :
sum=sum+i
print(“1에서 10까지 자연수 중 홀수의 합은 : %d” % sum)
i=0
sum=0
a=int(input(“정수를 입력해 주세요:”)) # 정수를 입력받는 부분으로 뒤에서 자세하게 알아보겠습니다.
for i in range(1, a+1, 1) :
sum=sum+i
print(“1에서 %d까지 자연수의 합은 : %d” % (a, sum))
1) “파이선 파이팅”을 100번 출력되게 해 보자.
2) 1부터 100까지의 자연수에서 3의 배수의 합이 출력되게 해 보자.
3) 10부터 1씩 줄어들어 0이 되면 “발사”가 출력되게 해 보자.