본문 바로가기
파이썬(Python)

[Python] 반복문 (for문, while문)

by Yeah_D 2023. 1. 9.

 '반복문'이란?

특정 작업을 일정 횟수만큼 반복하여 나타내도록하는 명령문이다.

대표적인 반복문으로는 'for문' 과 'while문' 이 있다.

 

 for문

for문은 정해진 횟수만큼 반복하는 구조이다.

 

전체적인 구조는 아래와 같다.

for + 변수 + in + 시퀀스 (리스트처럼 요소들을 갖고 있는 객체) :
   + 반복 문장 (들여쓰기 필수)

 

즉, 주로 아래 코드처럼 사용되어진다.

>>> for x in range(4):
>>>   print("안녕")
안녕
안녕
안녕
안녕

 

위의 코드에 사용된 'range()' 함수에 대해 자세히 알아보도록 하자.

 range() 함수

range() 함수는 특정 구간의 정수들을 생성할 때 유용하게 사용되는 함수이다.

range() 함수의 전체적인 구조는 아래와 같다.

range([start,] stop [, step])

즉, 대괄호로 묶여있는 start 와 step 은 생략할 수 있다는 것이다.

start 와 step 이 생략되면, start 는 0, step 은 1로 간주된다.

 

이러한 range() 함수는 반복문에 매우 자주 사용되기 때문에,

다양한 구조의 range() 함수를 잘 기억해놓는 것이 좋다.

 

1. range(stop) 

아래 코드는 'range(stop)' 함수를 통해 특정구간의 정수들을 생성하여 만든 반복문이다.

>>> sum = 0
#이는 0~10까지의 총합을 구하는 반복문이다.
>>> for x in range(11):
>>>   sum = sum + x
>>> print(sum)
55

 

2. range(start, stop)

range(start, stop) 함수를 이용하면, start 부터 stop-1 까지의 정수를 생성할 수 있다.

(stop은 포함되지 않으므로 주의해야 한다)

 

아래 코드도 위의 예시와 같이, 0~10까지의 총합을 구하는 반복문이다.

>>> sum = 0
>>> for x in range(0,11):
>>>   sum = sum + x
>>> print(sum)
55

 

3. range(start, stop, step)

range(start, stop, step) 함수는, start 부터 stop-1 까지 step 의 간격으로 정수를 생성한다.

 

예를 들어, range(0, 11, 2) 라면, 0부터 11까지 2씩 건너뛰면서 11보다는 작은

[0, 2, 4, 6, 8, 10]가 생성되는 것이다.

>>> sum = 0
>>> for x in range(0,11,2):
>>>    print(x, end=" ") #'end=" "' 는, 줄바꿈 없이 출력하기 위해 사용한 것이다
0 2 4 6 8 10

 

range() 함수를 사용하지 않고도 만든 반복문도 여러 존재한다.

아래 코드는 리스트에 대한 반복을 수행한 것이다.

>>> for x in ["AA", "BB", "CC", "DD"]:
>>>   print("안녕 " + name)
안녕 AA
안녕 BB
안녕 CC
안녕 DD

 

 while문

while문은 어떤 조건이 만족되는 동안, 반복을 계속하는 구조이다.

그렇기에 무한반복을 사용할 때 주로 사용되며,

반드시 'break'를 사용하여, 빠져나올 부분을 만들어 주어야 한다.

 

while문의 전체적인 구조는 아래와 같다.

while + 조건 :
      + 반복문장

 

즉, 주로 아래 코드처럼 사용되어진다.

>>> i = 0;
>>> while i < 3:
>>>     print("안녕")
>>>     i = i + 1
>>> print("반복 종료")
안녕
안녕
안녕
반복 종료

 

댓글