Skip to content

Latest commit

 

History

History
96 lines (72 loc) · 2.07 KB

File metadata and controls

96 lines (72 loc) · 2.07 KB

while

python에서 지원하는 2가지 loop문중 한가지인 while문입니다. 주로 **정해진 반복 횟수가 없을 때 ** 주로 사용됩니다.

while <condition>:
    pass

<condition>의 부분에는 결과값이 bool이라면 어떠한 것이라도 대입가능합니다.

i = 0
while i < 3:
    print(i)
    i += 1
# 출력 결과
0
1
2

위의 예시처럼 <condition>값이 True일때만 반복문을 실행하며, False가 반환되면 반복문이 끝나는 것을 확인할 수 있습니다.

def run(i):
    return i < 10

i = 0
while run(i):
    print(i)
    i += 3
# 출력 결과
0
3
6
9

return 값이 bool이라면 함수도 <condition>에 담을 수 있습니다.

nested while loop

while을 이용하여 구구단을 출력하는 프로그램을 만들어 봅시다. for문이 가능했던 것 처럼 while문 또한 이중으로 사용할 수 있습니다.

i, j = 1, 1
while i < 10:
    while j < 10:
        print(i*j)

어떠한 while문과 for문이든 서로 똑같은 일을 수행하는 반복문으로 만들 수 있습니다. 다만, 편의성을 위해 두가지 loop문을 만들었다고 볼 수 있습니다.

continue/break

while문도 반복문이기 때문에 continue와 break를 사용하면 효율적으로 사용할 수 있습니다.

def must_stop():
    return True

while True:
    if must_stop():
        break

다음의 예시를 보면 while문의 <condition>True이 들어가면 해당 반복문은 무한 반복문이 됩니다. 이러한 반복문을 빠져나오기 위해서는 다음과 같이 if문과 break의 조합으로 빠져나올 수 있습니다.

i = 0
while i < 4:
    if i == 2:
        continue
    print(i)
    i += 1
# 출력 결과
0
1
3

continue를 사용하면 다음과 같이 keyword를 기점으로 아래 코드는 실행되지 않으면서 다음 반복으로 넘어가는 것을 알 수 있습니다.


Back - Control flow