Day 4 - 파이썬의 제어문 (while)

2022. 10. 7. 15:35Python

이번 글에서는 파이썬의 제어문 중 반복문을 실행할 수 있는 while에 대해서 알아볼 것이다. while문은 아무래도 if문보다 어렵고 또 덜 직관적이기 때문에 충분한 학습이 필요할 것 같다.

while문의 설명과 실습이다.

if 조건문도 그렇지만, while 반복문의 경우 사용할 때 조건 설정에 특히 주의해야 한다. 예를 들어 위 실습에서

while loop < 2로 설정했다면, Hello World!가 3번이 아니라 2번 출력되었을 것이다. 

 

while 반복문에서 특히 조건 설정에 주의해야 하는 이유는, while은 조건에 따라 무한루프에 빠질 위험성이 있기 때문이다. 만약 while 반복문이 무한루프에 빠질 경우 break를 이용하여 멈추면 되긴 하지만, 그래도 애초에 무한루프에 빠지지 않는 것이 더 좋은 방향이라고 생각한다. 물론 개발을 하다보면 무한루프가 필요한 경우도 있겠지만 말이다.

무한루프에 빠지는 코드와 break문을 통해 멈춘 모습이다.

해당 예시에서는 while True:로 코드 작성을 했기 때문에 무한루프에 빠졌다.

 

또 while문 안에서 추가로 조건을 걸어서 해당 조건의 반복은 건너 뛰고 나머지 반복만의 결과를 도출하고 싶을 때는 continue문을 사용한다.

continue문의 실습이다.

해당 예시에서는 a가 1보다 크고 10보다 작을 때 짝수는 건너뛰고 홀수만 출력하고 싶은 경우에 while문과 continue문을 사용하여 코드를 작성하였다.

 

아래는 연습문제이다. 마지막에만 출력되도록 하는 코드를 작성하는데 약간 어려움이 있었다.

마지막에 if문을 하나 더 추가해 60점 미만의 점수가 나왔을 때 출력하다록 했다.

강사님은 출력할 때 while문을 탈출한 뒤 내림차순 후 출력하셨다. 그런 방법도 있다고 생각하면 좋겠다. 아마 강사님이 풀이하신 방법이 메모리 소모가 좀 덜하지 않을까?