for a in range(1,31):
if a % 7 != 0:
continue
print(f'7의 배수: {a}')
결과)
7의 배수: 7
7의 배수: 14
7의 배수: 21
7의 배수: 28
파이썬 소스 및 결과 입니다. 소스 설명)
사용하신 파이썬 코드는 1부터 30까지의 숫자 중 7의 배수만 골라 출력하는 프로그램입니다. for 반복문과 if 조건문, 그리고 continue 문을 활용하여 특정 조건을 만족하는 경우에만 코드를 실행하고, 그렇지 않은 경우에는 다음 반복으로 넘어가도록 설계되어 있습니다.
소스 코드 상세 설명
for a in range(1, 31):
if a % 7 != 0:
continue
print(f'7의 배수: {a}')
- for a in range(1, 31):
- 이 부분은 반복문의 시작을 알립니다. range(1, 31)은 1부터 30까지의 정수들을 순서대로 생성합니다.
- a는 반복문 내에서 현재 순서의 숫자를 담는 변수입니다. for 반복문은 1부터 시작하여 30에 도달할 때까지 변수 a에 각 숫자를 할당하고, 그 안에 있는 코드를 반복해서 실행합니다.
- 주의: range(시작, 끝) 함수는 시작 값은 포함하지만 끝 값은 포함하지 않습니다. 따라서 range(1, 31)은 1부터 30까지를 의미합니다.
- if a % 7 != 0:
- 이 줄은 조건문입니다. a % 7은 변수 a를 7로 나눈 나머지를 계산합니다.
- !=는 "같지 않다"는 뜻의 연산자입니다.
- 따라서 if a % 7 != 0은 "만약 a를 7로 나눈 나머지가 0이 아니라면"이라는 조건을 검사합니다.
- 즉, a가 7의 배수가 아니라면 이라는 뜻이죠. 7의 배수는 7로 나누어 떨어지기 때문에 나머지가 항상 0이 됩니다.
- continue
- if 조건문이 참(True)일 때, 즉 a가 7의 배수가 아닐 때 이 코드가 실행됩니다.
- continue는 현재 진행 중인 반복(iteration)을 즉시 중단하고, 다음 반복으로 넘어가게 합니다.
- 예를 들어, a가 1일 때 1 % 7은 1이므로 조건 1 != 0이 참이 되어 continue가 실행됩니다. 그러면 1에 대한 나머지 코드(print 함수)는 실행되지 않고, for 반복문은 a가 2인 다음 단계로 바로 넘어갑니다.
- print(f'7의 배수: {a}')
- 이 코드는 if a % 7 != 0 조건이 거짓(False)일 때, 즉 a가 7의 배수일 때만 실행됩니다.
- print() 함수는 괄호 안의 내용을 화면에 출력합니다.
- f'7의 배수: {a}'는 f-string이라고 불리는 문자열 포맷팅 방법입니다. 문자열 안에 {a}와 같이 중괄호를 사용하여 변수의 값을 바로 삽입할 수 있어 편리합니다.
- a가 7의 배수일 때만 이 줄이 실행되므로, 결과적으로 7의 배수: 7, 7의 배수: 14 등이 차례대로 출력됩니다.
결과 분석
- a가 1부터 6까지는 모두 7로 나누어 떨어지지 않으므로 continue가 실행되어 아무것도 출력되지 않습니다.
- a가 7일 때, 7 % 7은 0이므로 if 조건이 거짓이 되어 continue는 실행되지 않고, print() 함수가 실행되어 7의 배수: 7이 출력됩니다.
- a가 8부터 13까지는 다시 continue가 실행됩니다.
- a가 14일 때, 14 % 7은 0이므로 print() 함수가 실행되어 7의 배수: 14가 출력됩니다.
- 이런 식으로 a가 21, 28일 때도 같은 과정이 반복되어 최종적으로 네 개의 줄이 출력됩니다.
결과적으로, 이 코드는 1부터 30까지의 숫자 중에서 7로 나누어 떨어지는 숫자들만 선택적으로 출력하는 효율적인 방법을 보여줍니다.
질문)
continue는 다시 for문으로 돌아가나요?
네, 맞습니다. continue는 현재 진행 중인 반복(iteration)을 즉시 중단하고, 다음 반복으로 돌아가게 하는 역할을 합니다.
continue 동작 원리
continue 문은 for 반복문이나 while 반복문과 함께 사용됩니다. continue를 만나면, 파이썬 인터프리터는 continue 아래에 있는 코드들을 모두 건너뛰고, 곧바로 반복문의 다음 단계로 넘어갑니다.
예를 들어, 1부터 10까지 출력하는 반복문이 있다고 가정해 봅시다. 만약 숫자 5를 건너뛰고 싶다면 continue를 사용할 수 있습니다.
for i in range(1, 11):
if i == 5:
continue # i가 5일 때, 아래 print() 문을 실행하지 않고 다음 반복으로 넘어갑니다.
print(i)
위 코드를 실행하면 다음과 같은 결과가 나옵니다.
1
2
3
4
6
7
8
9
10
i가 5일 때 if 조건이 참이 되어 continue가 실행되고, print(i)가 건너뛰어지는 것을 볼 수 있습니다. continue는 특정 조건을 만족하는 경우에만 반복문의 특정 부분을 실행하지 않고 싶을 때 유용하게 쓰입니다.
break와 continue의 차이점
헷갈릴 수 있는 break 문과 continue 문은 명확한 차이가 있습니다.
- continue: 현재 반복을 건너뛰고 다음 반복을 계속합니다.
- break: 현재 반복문을 완전히 종료하고, 반복문 밖으로 빠져나옵니다.
만약 위 코드에서 continue 대신 break를 사용했다면, i가 5가 되는 순간 반복문 자체가 끝나버립니다.
for i in range(1, 11):
if i == 5:
break # i가 5일 때, 반복문을 완전히 종료합니다.
print(i)
이 코드를 실행하면 다음과 같은 결과가 나옵니다.
1
2
3
4
break가 실행되어 5가 출력되지 않았을 뿐만 아니라, 그 이후의 숫자들(6, 7, 8, ...)도 전혀 출력되지 않고 반복문이 종료된 것을 알 수 있습니다.
확인 질문)
i가 5일 때, 아래 print() 문을 실행하지 않고 다음 반복으로 넘어갑니다. 여기서 다음 반복이란 for의 반복문으로 간다는 건가요?
네, 맞습니다. "다음 반복"은 for 반복문의 다음 단계로 넘어간다는 뜻입니다.
continue의 역할
continue 문은 현재 진행 중인 반복(iteration)을 즉시 중단하고, 반복문의 시작 지점으로 돌아가 다음 반복을 계속하도록 지시합니다.
제공해주신 예시 코드를 다시 살펴볼게요.
for i in range(1, 11):
if i == 5:
continue
print(i)
이 코드가 실행될 때, i가 1부터 4까지는 if i == 5: 조건이 거짓이므로 print(i)가 정상적으로 실행됩니다.
- i가 5가 되는 순간:
- if i == 5: 조건이 참이 됩니다.
- continue 문이 실행됩니다.
- continue는 현재의 반복을 여기서 끝내고, for 반복문의 시작 지점(for i in range(1, 11):)으로 돌아가 i에 다음 값인 6을 할당합니다.
- 따라서 continue 아래에 있는 print(i) 문은 건너뛰게 되며, 5는 출력되지 않습니다.
이후 i가 6부터 10까지는 다시 if 조건이 거짓이므로 print(i)가 정상적으로 실행됩니다.
continue는 특정 조건을 만족하는 경우에만 반복문의 특정 부분을 실행하지 않고 건너뛰고 싶을 때 매우 유용하게 사용됩니다.
'파이썬(Python)' 카테고리의 다른 글
| 파이썬, (리스트와 반복문,조건문) 합격,불합격 판단하기 소스 (0) | 2025.09.05 |
|---|---|
| 파이썬에서 pass 문은 아무런 동작도 하지 않는 빈 코드를 나타내는 제어문 (1) | 2025.08.31 |
| 파이썬, for문, 1~30 사이의 정수 중에서 7의 배수 출력 (1) | 2025.08.31 |
| 파이썬에서 in 연산자 두번째 역할 : 리스트의 각 요소를 변수에 할당하는 역할 (2) | 2025.08.31 |
| 파이썬, 무한루프 while문 안에서 break를 이용한 강제 종료 (0) | 2025.08.31 |
콘텐츠 내 자동삽입광고
