파이썬 반복문 중에서 while문에 대해 알아보자.
파이썬 for문은 이전 글에서 참고 - 2021.05.05 - [개발/파이썬] - 파이썬 반복문 - python for문
파이썬 while문의 기본 구조는 아래와 같다.
while 조건문:
code
...
Python while문은 for문 보다 반복하는 행위가 구체적이지 않을 때 사용하면 좋다.
- 리스트 A가 있고 이 A의 모든 원소에 특정 연산을 하고 싶다면? for문이 좋을 듯 하다.
- 원격으로 프로그램에 접속하려는데, 접속 까지 대기시간을 정확히 알 수 없다면? while문이 좋겠다.
while문의 대표적인 사용법은 무한루프다.
while True:
print("Hello")
결과화면
Hello
Hello
...
...
True는 불(bool) 자료형이다. True - 참, False - 거짓으로 while True는 참이 되어 무한대로 반복문을 수행한다.
프로그램에 따라 진짜 무한루프를 돌며 실행되는 경우도 있지만, 일반적으로는 무한루프를 빠져나올 필요가 있다.
앞서 for문 글에서 나온 것처럼 break를 이용하여 while문을 중단할 수 있다.
# break: 반복문 중단
cnt = 0
while True:
print("Hello")
cnt = cnt + 1
if cnt == 3:
break
결과화면
Hello
Hello
Hello
물론 위와 같은 반복문은 굳이 while문을 사용하지 않아도 된다.
또한, 무조건 참인 True를 사용하지 않고 아래와 같이 조건식을 넣을 수 있다.
cnt = 0
while cnt != 3:
print("Hello")
cnt = cnt + 1
결과화면
Hello
Hello
Hello
앞서 말한 것 처럼 while문은 불확실성이 있을 때 사용하면 좋은데 그런예를 보자.
random으로 특정 값이 나올 때, 반복문을 탈출하게끔 만들고 싶다면? 아래와 같이 코딩을 할 수 있다.
import random
from time import sleep
while True:
num = random.randint(0, 10)
print("rand num: {0}".format(num))
if num == 5:
print("exit")
break
sleep(1)
결과화면
rand num: 4
rand num: 9
rand num: 5
exit
이제 Python for문, while문에 대해 모두 공부했으니, 아래와 같이 조합해서 사용할 수도 있다.
import random
from time import sleep
while True:
num = random.randint(0, 10)
print("rand num: {0}".format(num))
for i in range(num):
print("*", end=' ')
print()
if num == 0:
print("exit")
break
sleep(1)
결과화면
rand num: 6
* * * * * *
rand num: 3
* * *
rand num: 3
* * *
rand num: 2
* *
rand num: 10
* * * * * * * * * *
rand num: 5
* * * * *
rand num: 0
exit
'개발 > 파이썬' 카테고리의 다른 글
파이썬 함수 - python def (0) | 2021.06.05 |
---|---|
파이썬 조건문 - python if문 (1) | 2021.05.29 |
파이썬 반복문 - python for문 (0) | 2021.05.05 |
파이썬 크롤러 만들기 #1 (0) | 2021.04.10 |
파이썬 설치 (with 파이참) (0) | 2021.03.31 |