ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 13. 반복문 제어하기
    Python/Grammar 2022. 12. 8. 01:42

    반복문을 제어하는 방법은 break와 continue를 사용하는 것이다. break를 사용해 반복문의 제어 흐름을 중단하고 루프를 빠져나오거나, continue를 사용해 반복문의 제어 흐름은 유지하되 코드 실행만 건너뛸 수 있다.

     

    # 1. break로 반복문 끝내기

    1-1. while에서 break로 반복문 끝내기

    i = 0
    while True:						  # 무한 루프 생성
      i += 2
      if i == 8:						  # i가 8일 때
        print(f"repeated {i // 2} times. escape the loop.") 
        break						  # 반복문(무한 루프)을 끝냄
    # 실행 결과
    repeated 4 times. escape the loop.

     

    1-2. for에서 break로 반복문 끝내기

    for i in range(10):      # 0부터 9까지 반복
      print(i)
      if i == 5: 		 # i가 5일 때 
        print(f"repeated {i} times. escape the loop.")
        break		 # 반복문을 끝내면서 for의 제어흐름을 벗어남
    # 실행 결과
    0
    1
    2
    3
    4
    5
    repeated 5 times. escape the loop.

     

     

    # 2. continue로 코드 실행 건너뛰기

    2-1. while에서 continue로 코드 실행 건너뛰기

    i = 0
    while i < 100:		# i가 100 미만일 때 반복
      i += 1		# i를 1씩 증가시킴
      if i % 3 == 0:        # i가 3일 때
        continue            # 아래 코드의 실행을 건너뜀
      print(i)
    # 실행 결과
    1
    2
    4
    5
    7
    (생략)
    95
    97
    98

     

    2-2. for에서 continue로 코드 실행 건너뛰기

    for i in range(100): # 0부터 99까지 반복
        if i % 3 == 0:   # i가 3의 배수일 때는
            continue     # 아래 코드를 실행하지 않음
        print(i)
    # 실행 결과
    1
    2
    4
    5
    (생략)
    95
    97
    98

     

     

    예제 1. 3으로 끝나는 숫자만 출력하기 (본문 18.5 연습문제)

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

    i = 0
    while True:     
        if i > 73:
          break
        if i % 10 != 3:
          i += 1
          continue    
        print(i, end=' ')
        i += 1

     

     

    예제 2. 두 수 사이의 숫자 중 3으로 끝나지 않는 숫자 출력하기 (본문 18.6 심사문제)

    표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~200, 두 번째 입력 값의 범위는 10~200이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 다음 소스 코드를 완성하여 첫 번째 정수와 두 번째 정수 사이의 숫자 중 3으로 끝나지 않는 숫자가 출력되게 만드세요. 정답에 코드를 작성할 때는 while True:에 맞춰서 들여쓰기를 해주세요.

    start, stop = map(int, input().split())
     
    i = start
     
    while True:
        if i > stop:
            break
        if i % 10 == 3:
            i += 1
            continue
        print(i, end=' ')
        i += 1

    댓글

Designed by Tistory.