Python

3. 파이썬의 제어문 : 기타 제어문(break & continue)

suehyune12 2021. 11. 9. 21:03

 

1. break 문

 

break문while문이나 for문과 같은 반복문을 강제로 종료하고자 할때 사용하는 제어문입니다.

반복문 내에 break문이 나타나면 곧바로 break문이 포함된 반복문은 종료됩니다.

 

break문의 동작을 그림으로 살펴보면 다음과 같습니다. 

 

while 조건식 :
        . . .
        break
        . . .
for 변수 in 반복가능객체 :
      . . .
      break
      . . .

 

 

반복문을 구성하는 것이 처음 배우는 입장에서는 상당히 부담스럽고 어려운 일입니다.

특히 원하는 시점에 정확히 반복문을 종료시키는 것을 어려워 하는 경우가 많습니다.

이럴 때는 반복문을 무한루프로 구성한뒤 if문을 이용해서 반복문을 종료시킬 조건식을 만들고

break문을 사용해 반복문을 종료하면 됩니다.

 

 

while True :
       . . .
       if n == 0:
             break
       . . .

 

 

n이 0일때 반복문이 종료되는 것을 보여주는 그림입니다.

 

 

 

 

예를 들어 보겠습니다. 

 

1부터 10되기 전까지 모든 정수를 출력하는 프로그램입니다. 

 

 

01) n은 1 입니다.

02~04) 반복문을 무한루프로 구성하고, 만약 n이 10이 되면 break를 사용해 반복문이 종료됩니다.

06) n이 10이 아닌 경우 n에 1씩 증가합니다.

 

 

결과 입니다.

1부터 9까지 정상적으로 출력됩니다. if문 내부에 break문을 작성했지만, 실제로 종료되는 것은 while문입니다.

 


 

 

대한민국의 수도를 맞히는 퀴즈를 구현한 프로그램입니다. 정답을 맞힐 때까지 프로그램은 종료되지 않습니다.

 

 

 

01) 무한루프로 구성되어 있습니다.

03) 만약 city가 서울, seoul, SEOUL을 작성하면 반복문 종료됩니다. 

07) 그외 다른 단어를 입력하면 "오답입니다. 다시 시도하세요."가 반복됩니다.

 

 

 

 

결과입니다.

 

 

 


 

2. continue문

 

continue문은 반복문의 시작 지점으로 제어의 흐름을 옯기는 역할을 수행합니다.

while문은 continue문을 만나면 조건식으로 곧바로 이동하여 조건식의 결과가 True면 while문의 처음부터 다시 실행합니다.

그에 비해 for문은 반복가능객체로 이동하여 반복가능객체에서 꺼낼 요소가 남아 있으면 해당 요소를 꺼내서 for문을 실행합니다.

 

그렇다면 continue문은 언제 사용할까요?

바로 반복에서 제외하거나 생략하고 싶은 코드가 존재하 떄 continue문을 사용합니다.

continue문은 특정 조건을 만족하는 경우 실행에서 제외하고 싶을 때 사용합니다.

while 조건식 :
        . . .
        continue
        . . .
for 변수 in 반복가능객체
     . . .
     continue
     . . .

 

 

 

예를 들어보겠습니다.

 

다음은 1에서 9까지 모든 정수를 구하는 프로그램입니다. 단 3의 배수는 제외하도록 구성하였습니다.

 

 

 

02) 만약 n이 10이 될 경우 반복문에서 탈출합니다.

05) 그러나 n에 3을 나누었을때 나머지가 0일 경우 반복문에서 제외합니다.

 

 

 

 

결과입니다.

 


 

 

사용자로부터 과일이름을 입력받아 리스트에 보관하는 프로그램입니다. 

총 5개의 과일 이름을 보관하는데 리스트에는 '사과', '감귤'을 미리 입력해 두었습니다.

중복된 과일은 저장할 수 없으며 만약 중복된 과일 이름을 입력하면 다른 과일을 입력받습니다.

 

 

 

 

01) fruits 리스트에 사과와 귤을 저장합니다.

02) count는 입력 가능 횟수가 사과와 귤을 제외한 3번입니다.

05) fruit는 입력을 받을 과일입니다.

06) fruits 리스트 안에 입력한 fruit가 중복되면 True가 반환되면서 '동일한 과일이 있습니다'를 출력합니다.

08) continue문을 만나면 while문의 시작 지거므로 돌아가서 다시 과일 이름을 입력받습니다.

09) 입력된 과일을 fruits 리스트에 저장합니다

(append( )는 리스트 끝에 단일 요소 추가가 가능하다)

10) 입력 가능한 횟수가 1만큼 줄어듭니다.

 

 

 

 

 

결과입니다.