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

이번에는 입력한 횟수대로 반복을 해보겠습니다. 다음 내용을 IDLE의 소스 코드 편집 창에 입력하세요.

break_input.py

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

소스 코드를 실행하면 '반복할 횟수를 입력하세요: '가 출력됩니다. 여기서 3을 입력하고 엔터 키를 누르세요.

실행 결과

반복할 횟수를 입력하세요: 3 (입력)
0
1
2

먼저 input으로 입력 값을 받아서 count 변수에 저장했습니다(이때 반드시 int를 사용하여 input에서 나온 문자열을 정수로 변환해줍니다). 그다음에 i에는 0을 할당하고, whileTrue를 지정하여 무한 루프로 만듭니다.

반복문 안에서는 i의 값을 출력하고, 변화식에서는 i를 1씩 증가시킵니다. 그리고 icount의 값과 같으면 break를 실행합니다.

여기서는 3을 입력했으므로 0부터 2까지 출력된 뒤 i의 값 3과 count의 값 3이 같으므로 반복문은 끝납니다.

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

이번에는 입력한 숫자까지 해당하는 홀수를 출력해보겠습니다.

continue_input.py

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

소스 코드를 실행하면 '반복할 횟수를 입력하세요: '가 출력됩니다. 여기서 9를 입력하고 엔터 키를 누르세요.

반복할 횟수를 입력하세요: 9 (입력)
1
3
5
7
9

input으로 입력 값을 받아서 count 변수에 저장했습니다(이때 반드시 int를 사용하여 input에서 나온 문자열을 정수로 변환해줍니다). 그리고 forrangecount + 1을 지정하여 count에 들어있는 값만큼 반복하도록 만들었습니다. 왜냐하면 range(count)는 0부터 시작하므로 count의 값은 반복에 포함되지 않기 때문입니다. 따라서 count에 1을 더해서 count의 값도 반복에 포함되도록 만들어줍니다.

반복문 안에서는 if를 사용하여 i가 짝수이면 continue를 실행합니다. 그다음에 print를 사용하여 i의 값을 출력합니다.

여기서는 9를 입력했으므로 0부터 9까지 반복하면서 i가 짝수이면 print를 실행하지 않고 건너뛰며 i가 홀수이면 print를 사용하여 숫자를 출력합니다. 따라서 1 3 5 7 9가 출력됩니다.

지금까지 breakcontinue에 대해 알아보았습니다. 어렵게 생각할 것 없이 break는 반복문을 끝내고, continue는 그 아래에 오는 코드를 건너뛴 뒤 계속 반복한다는 점만 기억하면 됩니다.