코딩도장_Unit 18. break, continue로 반복문 제어하기

김민주·2021년 12월 30일
0

AIFFEL_풀잎스쿨

목록 보기
10/23
post-thumbnail

breakforwhile 문법에서 제어흐름을 벗어나기 위해 사용한다. 즉, 루프를 완전히 중단한다.
continue는 제어흐름(반복)을 유지한 상태에서 코드의 실행만 건너뛰는 역할을 한다.

  • break : 제어흐름 중단 반복문을 빠져나옴
  • continue : 제어흐름 유지, 코드 실행만 건너뜀

18.1 break로 반복문 끝내기

18.1.1 while에서 break로 반복문 끝내기

while 무한 루프에서 숫자를 증가시키다가 변수i가 100일 때 반복문을 끝내도록 코드를 작성

i = 0
while True:    # 무한 루프
    print(i)
    i += 1          # i를 1씩 증가시킴
    if i == 100:    # i가 100일 때
        break       # 반복문을 끝냄. while의 제어흐름을 벗어남
# 실행결과
0
1
2
(생략)
97
98
99 🔎

📎 참고) 에러
SyntaxError: invalid syntax: break에는 콜론(:)을 붙이지 않는다.

18.1.2 for에서 break로 반복문 끝내기

for에서도 break의 동작은 동일하다.

for i in range(10000):    # 0부터 9999까지 반복
    print(i)
    if i == 100:    # i가 100일 때
        break       # 반복문을 끝냄. for의 제어흐름을 벗어남
# 실행결과
0
1
2
 (생략)
98
99
100 🔎

18.2 continue로 코드 실행 건너뛰기

``for```로 0부터 99까지 반복하면서 홀수만 출력한다.

for i in range(100):       # 0부터 99까지 증가하면서 100번 반복
    if i % 2 == 0:         # i를 2로 나누었을 때 나머지가 0면 짝수
        continue           # 아래 코드를 실행하지 않고 건너뜀
    print(i)
# 실행결과
1
3
5
 (생략)
95
97
99

📎 참고) 에러
SyntaxError: invalid syntax: continue에는 콜론(:)을 붙이지 않는다.

18.2.2 while 반복문에서 continue로 코드 실행 건너뛰기

for 뿐만 아니라 while에서도 continue의 동작은 동일하다.

i = 0
while i < 100:        # i가 100보다 작을 때 반복. 0부터 99까지 증가하면서 100번 반복
    i += 1            # i를 1씩 증가시킴
    if i % 2 == 0:    # i를 2로 나누었을 때 나머지가 0이면 짝수
        continue      # 아래 코드를 실행하지 않고 건너뜀
    print(i)
# 실행결과
1
3
5
 (생략)
95
97
99

여기서는 while i < 100:과 같이 반복 횟수를 정한 뒤 continue를 사용했다. 만약 무한 루프에서 continue를 사용하면 홀수만 계속 출력될 뿐 반복문은 끝나지 않는다.

📎 참고) 반복문과 pass
for, while의 반복할 코드에서 아무 일도 하지 않지만, 반복문의 형태를 유지하고 싶다면 pass를 사용한다.

for i in range(10):    # 10번 반복
    pass               # 아무 일도 하지 않음
while True:    # 무한 루프
   pass       # 아무 일도 하지 않음

18.3 입력한 횟수대로 반복하기

count = int(input('반복할 횟수를 입력하세요: '))
 
i = 0
while True:    # 무한 루프
    print(i)
    i += 1
    if i == count:    # i가 입력받은 값과 같을 때
        break         # 반복문을 끝냄

코드를 실행하면 '반복할 횟수를 입력하게요:' 출력. 여기에 3을 입력 후 엔터

# 실행결과
반복할 횟수를 입력하세요: 3 (입력)
0
1
2  # 3은 왜 출력이 안되?🔎

18.3.1 입력한 숫자까지 홀수 출력하기

count = int(input('반복할 횟수를 입력하세요: '))
 
for i in range(count + 1):       # 0부터 증가하면서 count까지 반복(count + 1)
    if i % 2 == 0:               # i를 2로 나누었을 때 나머지가 0이면 짝수
        continue                 # 아래 코드를 실행하지 않고 건너뜀
    print(i)

코드를 실행하면 '반복할 횟수를 입력하게요:' 출력. 여기에 9를 입력 후 엔터

# 실행결과
반복할 횟수를 입력하세요: 3 (입력)
1
3
5
7
9  # 9는 왜 출력되?🔎

18.4 연습문제 : 3으로 끝나는 숫자만 출력하기

다음 소스 코드를 완성하여 0과 73 사이의 숫자 중 3으로 끝나는 숫자만 출력되게 만드세요.

i = 0
while True:
    if i % 10 != 3:🔎
        i += 1
        continue              
              
    if i > 73:🔎
        break              
                   
    print(i, end=' ')
    i += 1
# 실행결과
3 13 23 33 43 53 63 73

해설
https://dojang.io/mod/page/view.php?id=2257

profile
안녕하세요 :-) 잘 부탁드립니다!

0개의 댓글