You are on page 1of 42

08.

반복문
1. 반복문의 개념
2. for 문
3. while 문
4. 반복문의 제어
1. 반복문의 개념
01. 반복문의 개념

 반복문의 개념
• 반복문(loop) : 말 그대로 문장을 반복해 만드는 것으로, 정해진 동작을 반복적
으로 수행할 때 내리는 명령어이다.

• 반복문은 모든 프로그램에서 핵심적으로 사용된다.

• 반복문은 반복 시작 조건, 종료 조건, 수행 명령으로 구성되어 있으며, 들여쓰기


와 블록(block)으로 구분한다파이썬의 반복문은 for와 while 등의 명령 키워드
를 사용한다.
01. 반복문의 개념

 반복문의 필요성
• 반복문을 사용하지 않는 경우

• 반복문을 사용한 경우
01. 반복문의 개념

 반복문의 종류
• 횟수 반복 : 정해진 횟수만큼 반복한다

• 조건 반복 : 특정한 조건이 성립되는 동안 반복한다


01. 반복문의 개념

 횟수 반복
• 횟수 반복은 반복을 시작하기 전에 반복의 횟수를 미리 아는 경우에 사용한다
01. 반복문의 개념

 조건 반복
• 조건 반복은 특정한 조건이 만족되는 동안 계속 반복한다
2. for 문 – 횟수 제어 반복
02. for 문

 횟수 제어 반복

방문을 환영합니다!
방문을 환영합니다!
방문을 환영합니다!
방문을 환영합니다!
방문을 환영합니다!
02. for 문

 횟수 제어 반복

방문을 환영합니다!
방문을 환영합니다!
방문을 환영합니다!
방문을 환영합니다!
방문을 환영합니다!
02. for 문

 for 문
• for 문: 기본적인 반복문으로, 반복 범위를 지정하여 반복을 수행한다.

• for 문으로 반복문을 만들 때는 먼저 for를 입력하고 반복되는 범위를 지정해야 한다.

• 범위를 지정하는 방법
1) 첫 번째 방법은 리스트를 사용하는 것
2) 두 번째 방법은 변수 자체를 출력하는 방법
02. for 문

 for문
① 리스트를 사용해서 반복되는 범위를 지정하는 방법
02. for 문

 for문 : [코드 4-5] 해석


① 리스트를 사용해서 반복되는 범위를 지정하는 방법

• [코드 4-5]에서는 [1, 2, 3, 4, 5]라는 리스트를 사용하였다.

• 이 리스트에 있는 각각의 값을 하나씩 가져와 looper라는 변수에 할당하는데, 한


번 할당할 때마다 그 아래쪽에는 들여쓰기 한 명령문 구문 print("hello")를 실행
한다.

• 최종적으로 [1, 2, 3, 4, 5]에서 값을 모두 한 번씩 수행하므로, 총 다섯 번의 반복


이 일어나 ‘hello’가 다섯 번 출력된다.
02. for 문

 for문
② 변수 자체를 출력하여 반복되는 범위를 지정하는 방법
02. for 문

 for문 : [코드 4-6] 해석


② 변수 자체를 출력하여 반복되는 범위를 지정하는 방법

• 리스트 [1, 2, 3, 4, 5]의 각각의 값이 한 번 반복문을 돌 때마다 looper 변수에 할


당되어 그 값들이 화면에 출력된다.
02. for 문

 for문
• 만약 100번 반복해야 한다면 코드를 어떻게 작성해야 할까? 리스트를 가지고 1
부터 100까지 모든 값을 적기에는 너무 오래 걸린다. 이럴 때는 ‘range’라는 키
워드를 사용한다.
02. for 문

 for문 : [코드 4-7] 해석


• range 문법의 기본 구조

• range는 마지막 번호의 마지막 숫자 바로 앞까지 리스트를 만든다. 즉, range(1, 5)라고


하면 [1, 2, 3, 4]의 리스트를 만들고, range(0, 5)라고 하면 [0, 1, 2, 3, 4]의 리스트를 만
든다.

• 앞의 시작 번호와 증가값은 생략할 수 있으며, 생략했을 경우 초기값으로 시작 번호는


0을, 증가값은 1을 입력한다.
02. for 문

반복문에서 알아두면 좋은 상식

1. 반복문의 변수는 대부분 i, j, k로 지정한다. 이것은 수학에서 변수를 x, y, z로


정하는 것과 비슷한 프로그래밍 관례이다.

2. 반복문은 대부분 0부터 반복을 시작한다. 이것도 일종의 관례이다. 하지만 비


주얼 베이직(Visual Basic)처럼 1부터 시작하는 언어도 있다. 프로그래밍 언어
는 아주 오래 전부터 발전했으며, 초기의 컴퓨터들은 메모리가 매우 작아 하
나라도 작은 수부터 저장하는 것이 용이하였다. 그래서 0부터 시작하는 이진
수의 특징 때문에 대부분 언어가 0부터 인덱스를 시작한다.

3. 반복문을 잘못 작성하면 무한 루프라고 하는 오류가 발생할 수 있다. 무한 루


프는 반복 명령이 끝나지 않는 프로그램 오류로, CPU와 메모리 등 컴퓨터의
리소스를 과다하게 점유하여 다른 프로그램에도 영향을 미친다.
02. for 문

 for문
• 문자열도 리스트와 같은 연속적인 데이터를 표현하므로 각 문자를 변수 i에 할
당하여 화면에 출력한다.
02. for 문

 for문
• 숫자를 화면에 출력하듯이 문자열로 이루어진 리스트의 값들도 사용할 수 있다.
02. for 문

 for문
• range 구문을 이용하여 1부터 9까지 2씩 증가시키는 for문을 확인해 보자.
02. for 문

 for문
• range 구문을 사용하여 10부터 2까지 1씩 감소시키는 반복문은 다음과 같다.
3. while 문 – 조건 제어 반복
03. while 문

 while문
• while문 : 어떤 조건이 만족하는 동안 명령 블록을 수행하고, 해당 조건이 거짓
일 경우 반복 명령문을 더는 수행하지 않는 구문이다

• while문의 형식과 순서도


03. while 문

 while문
• while문 : 어떤 조건이 만족하는 동안 명령 블록을 수행하고, 해당 조건이 거짓
일 경우 반복 명령문을 더는 수행하지 않는 구문이다.
03. while 문

for문과 while문 상호 변환 가능

• for문과 while문은 기본적으로 유사하며, 서로 변환이 가능하다. 하지만 두 구문의 쓰임에는 차이가 있
다. For문은 일반적으로 반복 횟수를 정확하게 알고 있고, 반복 횟수가 변하지 않을 때 사용한다. 반면,

while문은 반복 실행 횟수가 명확하지 않고 어떤 조건을 만족하면 프로그램을 종료하고자 할 때 사


용한다.

• 예를 들어, 학생들의 성적을 채점하는 프로그램을 작성한다고 하자. 이미 학생이 총 몇 명인지 명확하
게 알고 있으므로 for문을 사용하는 것이 좋다. 하지만 가위바위보를 한다고 가정했을 때 ‘이기면 종료
하라.’라는 조건을 주면 언제 이길지 모르므로 while문을 사용하는 것이 낫다.

0, 5

[for문과 while문 상호 변환]


03. while 문

 무한 루프를 실행하는 while문


• 무한 루프 적용 : ‘ while 조건식: ’에 들어가는 조건식을 True로 지정
03. while 문

 무한 루프를 실행하는 while문


• 예제
03. while 문

 무한 루프를 실행하는 while문(while1.py)


• 예제 : 무한 루프를 사용해 입력한 두 숫자의 합계를 반복해서 계산하는 프로그램

4행의 무한 반복문 때문에 사용자가 중지할 때까지 5~8행 반복

print(a, “+”, b, “=“, hap)


4. 반복문의 제어
04. 반복문의 제어

 반복문을 탈출시키는 break 문


• 계속되는 반복을 논리적으로 빠져나가는 방법
04. 반복문의 제어

 반복문을 탈출시키는 break 문


• 예제 1
04. 반복문의 제어

 반복문을 탈출시키는 break 문


• 예제 2(while1.py)

4행 : 무한 반복 하도록 했다
5행 : a값을 입력
6행 : 입력한 a값이 0이면 7행 실행한 후 break 문으로
while 문을 탈출해 11행으로 건너뜀
11행에는 아무것도 없으므로 자연스럽게 12행 실행

print(a, “+”, b, “=“, hap)


04. 반복문의 제어

 반복문으로 다시 돌아가게 하는 continue 문


• continue 문 : 특정 조건에서 남은 명령을 건너뛰고 다음 반복문을 수행한다
04. 반복문의 제어

 반복문으로 다시 돌아가게 하는 continue 문


• continue 문 예시
04. 반복문의 제어

 반복문으로 다시 돌아가게 하는 continue 문(continue1.py)


• continue 문 예시 : 1~100의 합계를 구하되, 3의 배수를 제외하고 더하기
04. 반복문의 제어

 반복문이 끝나고 한 번 더 실행하는 else 문


• else 문 : 어떤 조건이 완전히 끝났을 때 한 번 더 실행해 주는 역할을 한다
실습

 Up & Down 게임
• 반복문과 조건문을 토대로 숫자 찾기 게임 프로그램을 만들어 보자.

• 이 프로그램의 규칙은 다음과 같다


실습

 Up & Down 게임
• 실행 결과
실습

 Up & Down 게임
• 문제 해결

시작

랜덤 함수를 이용한 난수 생성

외부에서
값 입력

> <
숫자가 너무 큽니다 입력값 == 난수 숫자가 너무 작습니다

==
정답입니다.
입력한 숫자는 ~
무한반복 영역

종료
실습

 Up & Down 게임
• 문제 해결

You might also like