당신은 멋쟁이, 우리는 장고쟁이~

0%

Python 기초 10편 - While 반복문

Python 기초 - while문


While 반복문


반복문들은 반복적으로 프로그램 구문의 코드 블럭들을 실행 시키기 위해 사용됩니다.


파이썬에서 기본 반복문 구조는 while 반복문 입니다.


아래는 while 문의 문법 구조 입니다.


1
2
3
while (expression):
statement_1
statement_2

위 while 문의 기본 문법에서 보다시피,

while 문은, while(expression): 부분에 expression 이 True 가 되는동안,

statement_1 과 statement_2 를 실행 합니다.


expression 부분이 false 가 되지 않는한, 반복문은 코드 실행을 멈추지 않습니다!

이렇게 실행을 멈추지 않는 반복을 무한 루프라고 부릅니다.


expression 안에 있는 조건은, 각 반복이 시작될때마다 확인이 되고, 이 조건이 False 가 되면, while 반복이 끝나고, 더이상 코드가 실행되지 않습니다.


아래 예시는, x 가 < 5 인 동안에, x 를 출력합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# x 가 5 보다 작을동안 
# x 를 출력

x = 0
while (x < 5):
print(x)
x = x + 1

# 아래는 아무것도 실행 되지 않습니다.
# 반복문이 시작될때부터, 조건이 False 가 됩니다
# 10 은 5보다 크지 않습니다.

x = 10
while(x < 5):
print(x)
x = x + 1

while 과 else 문


while 과 if 문 사이에는 구조적으로 비슷한점이 존재합니다.


둘다 조건이 true 일때 실행되는 코드 블럭들을 가지고 있고, 차이점이라고 하면, if 문에서는 코드 블럭이 한번만 실행되지만, while 문에 있는 코드 블럭은 반복적으로 실행된다는 차이점이 존재합니다.


문법은 아래와 같습니다.


1
2
3
4
5
6
7
8
while (expression):
statement_1
statement_2
....
else:
statement_3
statement_4
...

while 반복문은 반복적으로 조건을 테스트 하고, 조건이 True 이면, 첫번째 코드 블럭을 조건이 true 인 동안에 반복적으로 실행 시킵니다.


else 밑에 있는 코드블럭들은,

조건이 False 가 될때에만 실행됩니다.


예를들면,


1
2
3
4
5
6
7
8
9
# while... else 

x = 0
s = 0
while (x < 10):
s = s + x
x = x + 1
else:
print("첫번째 9숫자의 합은 : ", s)

if-else, break 와 사용되는 while 반복문의 예시


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# if-else 그리고 break 문을 사용한 while 반복문 
x = 1
s = 0
while (x < 10):
s = s + x
x = x + 1
if (x == 5):
break
else:
print('첫번째 9숫자의 합은 : ', s)
print(' 첫번째 ', x, '의 합은 : ', s)

# 여기서는 else 가 실행되지 않습니다
# while 반복문이, x 값이 5가 될때 종료되었기 때문에,
# while 문에 붙어 있는 else 밑의 코드는 실행되지 않고, while 문을 빠져나갑니다.
# 따라서, while 문 밖에 있는 print 함수가 실행됩니다.