파이썬/개념

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH05. 반복문

2024. 10. 15. 21:37
728x90

이 글은 '알기 쉽게 해설한 파이썬 컴퓨팅 사고력'을 중심으로 작성되었습니다.

알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력 | 김충석 - 교보문고 (kyobobook.co.kr)

 

 

 

 

 


 

 

 

 

 

Section 01 반복문의 개요

 우리들의 실생활 문제들을 살펴보면 같은 내용을 반복하여 처리해야 하는 경우가 많이 있다. 같은 내용으로 반복되는 내용은 프로그램에서 제공하는 반복 논리를 이용하여 표현할 수 있다.

 반복 논리의 핵심은 조건이다. 조건이 만족하는 경우에 반복을 수행한다. 주어진 문제를 프로그램으로 해결하기 위해서는 문제에 선택 논리가 있는지, 반복 논리가 있는지, 모두 다 존재하는지 잘 파악하여 논리에 적용할 조건을 추출하는 것이 핵심이다.

 

 

 

 

 


 

 

 

 

 

Section 02 반복문의 종류

 

1. while 문

 특정 조건이 만족되는 동안 지정된 영역을 반복할 수 있는 기능으로 while 문이 있다. while문의 동작은 우선 조건식을 검사하여 그 결과가 참인 동안 반복될 블록(문장들2)의 문장들을 반복 수행한다. 그리고 조건이 거짓이 되면 아래의 문장(문장들3)을 수행하게 된다.

문장들1

초깃값
while 조건:
	문장들2
	증감식

문장들3

 

 while문에서는 조건식이 참일 동안 반복 부분을 계속해서 수행하기 때문에 대부분의 while문의 사용에서는 반복 부분 내의 조건식의 조건을 거짓으로 만들 수 있는 부분이 포함되는 것이 일반적이다. 그렇지 않을 경우 조건이 참으로 계속 유지되기 때문에 프로그램이 무한 반복에 빠질 수 있다. 반복문의 조건식도 선택문과 동일하게 수식연산자, 관계연산자, 논리연산자로 구성된다.

 

 

 

2. for 문

 반복 논리를 제공하는 또 다른 반복문인 for 문은 반복문 중에서 가장 많이 사용된다. for 문은 지정된 변수에 순차적 범위의 값들이 차례대로 배정되면서 반복 부분(문장들2)이 수행된다. 범위는 다양한 형태로 지정 가능한데, 일반적으로 range() 함수를 사용하여 반복 횟수를 지정하는 방법을 많이 사용한다. 순차적 범위의 반복이 정상적으로 수행되면 아래의 문장(문장들3)을 수행한다.

문장들1

for 변수 in 순차적범위 :
	문장들2

문장들3

 

range() 함수

 파이썬에서 순차적인 정수의 범위를 나타내기 위해서 range() 함수를 제공하고 있다.

함수 설명
range(x) 0부터 x-1까지 정수의 순차적 범위
range(x, y) x부터 y-1까지 정수의 순차적 범위
range(x, y, z) x부터 y-1까지 z씩 증가하는 정수의 순차적 범위
range(x, y, -z) x부터 y+1까지 z씩 감소하는 정수의 순차적 범위

 

 

 

3. continue 문과 break 문

 반복문 내에서 제어를 이동시키기 위해 continue문과 break문을 사용할 수 있다. continue문은 제어를 반복문의 처음으로 이동시켜 다음 반복을 수행하게 한다. break문은 제어를 반복문 밖으로 이동시켜 반복문의 다음 문장들을 수행한다. 일반적으로 continue문과 break문은 특정 조건이 만족하였을 경우 사용되기 때문에 if문과 같이 사용되는 것이 일반적이다.

문장들1

반복문 :
    문장들2
    continue
    문장들2
    break

문장들3

 

 

 

 

 


 

 

 

 

 

Section 03 선택과 반복의 결합 및 중복

 

1. 선택 논리와 반복 논리의 중첩 관계

 프로그램으로 해결하려는 문제들은 선택과 반복이 결합되고, 중복된 형태로 나타내는 것이 대부분이다. 대부분 프로그램 언어에서는 선택과 반복의 논리가 결합되고 중첩될 수 있는 구조를 허용하고 있다.

 

 

 

2. 복합 문제 해결을 위한 논리구조도

 주어진 문제를 해결하기 위해서는 가장 먼저 할 일은 조건을 추출하는 것이다. 복합 문제에서는 이러한 조건을 추출하는 것이 좀 더 복잡한 과정을 거치게 된다. 다음은 복합 문제에서 조건을 추출하기 위한 과정을 나타낸 것이다.

  1. 문제로부터 추출될 수 있는 조건은 모두 추출
  2. 조건과 연계된 논리(선택 또는 반복)를 결정
  3. 각각의 논리의 중첩 관계를 논리구조로 표현
  4. 논리구조도에 따라 프로그램 작성

 

각각의 논리구조도는 다음과 같은 그림으로 표현한다.

(a) 반복 논리 구조도
(b) 선택 논리 구조도