본문 바로가기
파이썬(Python)/파이썬(Python) 기초

파이썬(Python) 3장 제어문 - 2. while문

by 인생즐겜러 2022. 7. 4.
728x90
반응형

1. while문 기본 구조

2. while 문 강제로 빠져나가는 법

3. while문의 맨 처음으로 돌아가기

4. 무한 루프

 

 

 

 

 


 

 

 

 

 

1. while문 기본 구조

 

반복을 하기 위한 구문이다.

while문은 조건문이 참인 동안에 while문 아래의 문장을 반복 수행.

구조는 아래와 같다.

 

while <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    <수행할 문장3>
    ...

 

 

 

 

 

예시1

 

>>> eat = 0
>>> while eat < 5:
...     eat = eat +1
...     print("라면를 %d입 먹었습니다." % eat)
...     if eat == 5:
...         print("밥 들어갑니다.")
...
라면를 1입 먹었습니다.
라면를 2입 먹었습니다.
라면를 3입 먹었습니다.
라면를 4입 먹었습니다.
라면를 5입 먹었습니다.
밥 들어갑니다.

 

 

 

 

 

예시2

 

>>> prompt = """
... 1. Hello
... 2. Hi
... 3. Hey
... 4. Bye
...
... Enter number: """
>>>
>>> number = 0
>>> while number != 4:
...     print(prompt)
...     number = int(input())
...

1. Hello
2. Hi
3. Hey
4. Bye

Enter number:

 

위에서 number = int(input()) 의 경우,

사용자의 숫자 입력을 받아들여서 number에 넣는 구문이다. 일단은 그렇게만 알두자.

해당 while문을 실행 시키면 맨 아래처럼 출력되고

입력시키는 number에 따라 계속 같은 문구가 출력되는지, 아니면 while 문이 끝나고 종료되는지가 결정된다.

일반적으로 사용되는 예시1과는 다른 방식을 보여준다.

 

 

 

 

 


 

 

 

 

 

2. while 문 강제로 빠져나가는 법

 

강제로 멈추게 하는 것 =>  break문.

 

>>> eat = 5
>>> while eat:
...     eat = eat -1
...     print("라면를 %d입 먹었습니다." % (5-eat))
...     if eat == 0:
...         print("밥 들어갑니다.")
...         break
라면를 1입 먹었습니다.
라면를 2입 먹었습니다.
라면를 3입 먹었습니다.
라면를 4입 먹었습니다.
라면를 5입 먹었습니다.
밥 들어갑니다.

 

위의 예시의 경우, 조건문이 무조건 상수로 늘 True를 반환하므로 무한히 반복되게 된다.

하위에 if문을 넣고 해당 조건(eat == 0)이 만족될 때, break문이 호출되게 해서 while문을 빠져나가게 된다.

 

 

 

 

 


 

 

 

 

 

3. while문의 맨 처음으로 돌아가기

 

continue문

while문을 빠져나가지 않고 while문의 맨 처음(조건문)으로 다시 돌아가게 만들고 싶은 경우 사용한다.

 

>>> a = 0
>>> while a < 10:
...     a = a + 1
...     if a % 2 == 1: continue
...     print(a)
...
2
4
6
8
10

 

위의 예제는 1~10 숫자에서 짝수만 출력하고자 while문을 이용해서 만든 것이다.

if 문에서 홀수인 것이 확인이 되면 continnue를 통해서 print를 거치지 않고 다시 a = a+1 구문으로 올라간다.

이렇게 홀수를 출력하지 않고 짝수만 출력하는 원리이다.

 

 

 

 

 


 

 

 

 

 

4. 무한 루프

 

while True: 
    수행할 문장1 
    수행할 문장2
    ...

 

2번 while 문 강제로 빠져나가는 법에서 본 예시처럼

조건문이 무조건 참이라면 while은 무한히 수행된다.

해당 방식은 많이 사용되니까 기억할 것.

728x90
반응형

댓글