본문 바로가기

Python 기초 배우기/비전공자도 배우는 파이썬 기초

13. 파이썬 제어문: while문, 반복문, else, break, continue

 

#while문 #반복문 #else #break #continue

두 번째로 배울 제어문은

while문으로 반복문이라고도 부릅니다.

파이썬 제어문의 종류
1. if문 (특정 조건의 만족 여부에 따라 실행)
2. while문 (특정 조건을 만족하는 동안 반복 실행)
3. for문 (특정 횟수만큼 반복 실행)


while문, 반복문

특정 조건을 만족하는 동안 반복 실행

 

아래 그림과 같이 조건문을 검사하여

True 인 동안 아래에 수행할 문장들을

순서대로 반복하여 실행합니다.

 

만약 조건문이 False 이면

else 아래에 수행할 문장들을

순서대로 한 번씩 실행합니다.

(else가 없다면 바로 빠져나옵니다.)

while문, 반복문 기본구조

간단한 while문, 반복문을 작성해 보겠습니다.

 

<while문만 있는 경우>

num = 1   #num 변수는 1을 할당

while num < 5 :    #num 변수가 5보다 작으면 True
    print(num)     #현재 num 값을 출력 
    num = num + 1  #내려받은 num 값에 1을 더한 후 저장

 #else가 없기 때문에 그대로 while문을 빠져나온다.
 
 
 ##### result #####
 
1
2
3
4

<while문 else 같이 있는 경우>

num = 1

while num < 5 :
    print(num)
    num = num + 1

else :   
    print("5이상이면 종료합니다.")

#while문 모두 실행 후 False 가 되면 else 아래 문장을 수행한다.


##### result #####

1
2
3
4
5이상이면 종료합니다.

 


<break 사용>

while문은 반복문이라

조건문이 계속 True이면 무한으로 실행됩니다.

이것을 무한 루프(Loop)라고 합니다.

그렇기 때문에 무한 루프가 되지 않도록

break를 적절하게 사용해야 합니다.

 

num = 1

while num < 5 :
    print(num)
    break          #첫번째 1을 출력한 후에 break를 만나 그대로 종료
    num = num + 1
    
    
##### result #####    
    
1

 

<continue 사용>

continue를 사용하지 않아도

if else 만을 사용하여

동일한 실행을 할 수 있습니다.

 

while num < 5 :
    print(num)
    num = num + 1
    continue     #중간에 continue가 있어서 if문까지 실행이 안됨
    if num < 3 :
        print(num)
        
        
##### result #####        
        
1
2
3
4  

 


while문을 사용하여

출석을 부르는 내용을 만들어 보겠습니다.

 

 

#학생수 10명을 순서대로 호명합니다.

학생번호 = 0

while 학생번호 < 10 : 
    학생번호 = 학생번호 + 1
    print("%s번 학생 출석했나요?" %학생번호)
else :
    print("출석을 종료합니다.")
    
    
    
##### result #####

1번 학생 출석했나요?
2번 학생 출석했나요?
3번 학생 출석했나요?
4번 학생 출석했나요?
5번 학생 출석했나요?
6번 학생 출석했나요?
7번 학생 출석했나요?
8번 학생 출석했나요?
9번 학생 출석했나요?
10번 학생 출석했나요?
출석을 종료합니다.

1~20까지 중 짝수만 출력해 보겠습니다.

 

number = 1
while number <= 20 :
    if number % 2 == 0 :
        print(number)
    number = number + 1 


##### result #####

2
4
6
8
10
12
14
16
18
20

 

제어문을 사용하면

지금까지 배웠던 자료형과 함수들로

무궁무진한 프로그램을 만들어 낼 수 있습니다.

창의적으로 할 수 있다면 좋겠지만...

어렵기 때문에 다른 사람이 만든 예문들을

이해하고 학습하면 도움이 많이 됩니다!