파이썬 기초 while 반복문 / break와 continue
for문과 마찬가지로 파이썬에서 많이 쓰이는 제어문으로 while문이 있습니다. for문의 경우에는 무한반복을 하기에는 조금 안맞는 감이 있지만 while문의 경우에는 어떤 코드를 계속해서 반복하기에 적합하다고 볼 수 있겠네요.
바로 사용 방법 예시를 보도록 하겠습니다.
while True:
print('계속 나온다!')
==결과==
계속 나온다!
계속 나온다!
.
.
.
정말 계속 나옵니다. 이 반복문을 이해하려면 while 뒤의 True를 볼 필요가 있습니다.
while = 반복한다
True = 이것이 참일 때
라고 해석을 할 수 있겠네요. 말 그대로 while 뒤에 오는 어떤 값이 참일 때 계속해서 반복을 하는 것입니다. True라는 부울 값은 참 그대로 해석을 할 수 있기 때문에 당연히 무한적으로 반복을 하게 되는 것이죠.
마찬가지로 Ture 대신에 참에 해당이 되는 숫자나 문자열 등을 넣어줘도 반복문은 실행됩니다. 이러한 반복문을 종료하기 위해서는 두가지 방법이 있습니다.
while True:
print('asd')
break
==결과==
asd
위에 보이는 break 문을 넣어주는 것인데요. break에 도달을 했을 때 while 반복문을 강제로 종료하게 됩니다. 그렇기 때문에 asd를 출력하고 바로 다음에 break에 도달을 하고 반복문은 종료가 되는 것이죠.
a = 0
while a < 5:
print(a)
a += 1
==결과==
0
1
2
3
4
다음은 위와 같은 방식으로 반복문을 종료할 수 있습니다. while 뒤에는 조건을 넣을 수 있는데요. while문은 참일 동안만 반복문이 진행이 되기 때문에 만약 a라는 변수가 5와 동일하거나 5보다 크다면 a < 5 라는 조건은 거짓이 되기 때문에 종료가 되는 것이죠.
마지막 a += 1에서 a는 5가 되었고, 다시 반복문의 처음으로 돌아와 조건을 체크할 때 거짓인 것이 확인이 되어 종료가 되었기 때문에 마지막 출력은 4가 되는 것입니다.
a = 0
while not a > 5:
print(a)
a += 1
==결과==
0
1
2
3
4
5
위 코드는 기존 코드보다 살짝 헷갈릴 수 있겠지만 그대로 해석을 해본다면 그렇게 어렵지도 않습니다.
while = 반복한다
not = 아닐 때
결과적으로 while not a > 5 라는 것은 a라는 변수가 5보다 큰 것이 아닐 때 까지 반복문을 계속 사용한다는 것이 됩니다.
결과를 보면 알 수 있는데 a += 1을 통해서 a는 5까지 올라갑니다. 그리고 5를 출력한 다음 a += 1로 인하여 다시 반복문의 상단으로 돌아왔을 때 a는 6이 되었기 때문에 a라는 변수가 5보다 큰 것이 되어 반복문이 종료가 되는 것이죠.
지난번 for문과 마찬가지로 while문 또한 다양한 방법으로 코딩을 짤 수 있습니다. 필요에 따라서 while Ture와 break를 통해 반복문을 종료시킬 수도 있고 특정 조건을 넣어서 자연스럽게 break를 걸 수도 있다는 것!
마지막으로 continue를 쓰는 방법에 대해서 적어볼게요! 어렵지 않습니다.
a = 0
while True:
a += 1
print(a)
if a < 5:
continue
break
==결과==
1
2
3
4
5
continue는 반복문의 처음으로 돌아오는 것을 말합니다. 위 코드에서 if문이 하나 들어가 있는데요. 해석을 해보면 만약 a보다 5가 크다면 반복문의 처음으로 돌아오겠다 라고 해석을 할 수 있겠죠.
그렇게 반복문의 제일 처음에서 a += 1 로 인하여 a라는 변수가 5가 될 때 까지 계속 continue에 의해서 돌아오다가 a라는 변수가 5가 되었을 때 if문은 거짓이 되기 때문에 다음 코드인 break에서 반복문은 멈추게 되는 것입니다.
이처럼 while문을 사용할 때 break와 continue를 적절히 잘 넣어주면 보다 깔끔한 코드를 작성할 수 있겠죠!
'파이썬 기초' 카테고리의 다른 글
파이썬 기초 딕셔너리 사전 사용법은? (1) | 2022.09.30 |
---|---|
파이썬 기초 리스트와 튜플 차이점에 대해서 (0) | 2022.09.30 |
파이썬 기초 반복문 for / feat: range 함수 (0) | 2022.09.30 |
파이썬 기초 문법 조건문 if elif else + feat 불 자료형 (0) | 2022.09.30 |
파이썬 str 문자열과 int 숫자 및 정수 구분하기 (0) | 2022.09.30 |