Python 기초

반복의 필요성

우리는 항상 새롭고 흥미로운 것들을 좋아하기에 똑같은 작업을 반복하는 것을 지루해 합니다.

하지만 우리들의 생활에서는 반복적인 작업들이 필요합니다.

예를 들어 컨베이어 시스템에서 여러 부품을 모아 완제품을 조립하는 어셈블리 라인의 경우, 각 작업자를 같은 작업을 반복합니다.

이런 경우에 컴퓨터를 사용하며 반복적이고 지루한 작업은 컴퓨터를 이용하여 자동화하여야 합니다.

동일한 작업을 오류 없이 반복하는 것은 컴퓨터가 아주 잘 할 수 있는 일입니다.

 

미싱은 잘도 도네에 대한 이미지 검색결과

미싱은 잘도 도네 돌아가네~♬

 

동일한 명령어를 여러 번 실행하는 것을 반복(iteration) 이라고 합니다.

반복은 아주 자주 나타나기 때문에 파이썬은 반복을 쉽게 할 수 있는 구조를 가지고 있습니다.

for 문과 while 문이 바로 그것입니다.

 

프로그램에서는 어떤 경우에 반복이 필요할까요? 예를 들어 레드벨벳 슬기가 북한에 방문했을 때 환영 인사를 받는다고 합시다.

"환영합니다." 를 5번 출력해야 할 때 앞에서 배운 내용만을 가지고 프로그램을 만든다면 아래와 같은 것입니다.

print("환영합니다.")
print("환영합니다.")
print("환영합니다.")
print("환영합니다.")
print("환영합니다.")

 

<실행 결과>

환영합니다.
환영합니다.
환영합니다.
환영합니다.
환영합니다.

 

똑같은 문장을 5번 작성하는 것은 어느 정도 가능하지만 1000번, 혹은 그 이상 출력해야 한다면 문제가 심각해질 것입니다.

다행스럽게도 파이썬에서 동일한 문장을 조건에 따라 반복해주는 반복문들이 존재합니다.

반복문은 어떤 조건이 만족되는 동안 특정한 문장을 반복 실행하는 구조입니다.

예를 들어 위의 코드는 for 문을 사용하여 다음과 같이 작성할 수 있습니다.

for x in range(5):
	print("환영합니다.")

 

<실행 결과>

환영합니다.
환영합니다.
환영합니다.
환영합니다.
환영합니다.

 

위의 코드에 있는 range() 함수는 정수들의 리스트를 생성합니다. 예를 들어 range(5) 는 0부터 4까지의 정수를 생성하여 반환합니다.

위의 for 루프는 리스트의 첫 번째 숫자인 0부터 시작하여 print() 문장을 반복합니다.

리스트의 마지막 숫자인 4까지 반복하고 나서 반복을 종료합니다. 따라서 print() 문장은 5번 반복됩니다.

 

for 루프를 사용하게 되면 상당한 분량의 코드를 줄인다는 것을 알 수 있습니다.

for 루프는 유명한 C언어에서 시작된 반복 구조로 가장 많이 사용되는 반복 형태입니다.

 

파이썬에서 지원하는 반복문에는 다음과 같은 두 가지 종류가 있습니다. 개발 상황에 맞는 구조를 선택하여 사용하면 됩니다.

  • for 문 - 정해진 횟수만큼 반복하는 구조입니다.
  • while 문 - 어떤 조건이 만족되는 동안, 반복을 게속하는 구조입니다.