본문 바로가기
카테고리 없음

파이썬 for문과 if문 합쳐서 실습하기: 반복 속에 숨은 조건 찾기

by chapter21 2025. 5. 15.
파이썬 for문과 if문 합쳐서 실습하기: 반복 속에 숨은 조건 찾기
파이썬 for문과 if문 합쳐서 실습하기: 반복 속에 숨은 조건 찾기

파이썬 for문과 if문 합쳐서 실습하기: 반복 속에 숨은 조건 찾기

파이썬에서 for 문은 '반복', if 문은 '조건 판단'을 담당합니다. 이 두 가지 강력한 문법을 함께 사용하면, '여러 개 중에서 **특정 조건에 맞는 것만** 골라서 작업을 반복' 할 수 있게 됩니다.

마치 바구니에 있는 여러 과일(반복할 대상) 중에서 **빨간 사과(특정 조건)만** 찾아서 닦는(반복할 작업) 것과 같습니다. 이번 강좌에서는 for 문 안에 if 문을 넣어 사용하는 방법을 다양한 실습 예제를 통해 배워보겠습니다. 이 조합은 실제 프로그래밍에서 아주 자주 사용되므로, 잘 익혀두면 원하는 작업을 훨씬 효율적으로 처리할 수 있습니다.

왜 for문과 if문을 함께 사용할까요?

for 문은 목록이나 범위를 정해서 그 안의 모든 요소에 대해 동일한 작업을 여러 번 반복할 때 사용합니다. if 문은 특정 상황이 맞는지(조건이 참인지) 판단해서, 맞으면 이 코드를 실행하고, 아니면 저 코드를 실행하는 '결정'을 내릴 때 씁니다.
이 둘을 합치면, 반복 작업을 하되 **각각의 반복마다 조건을 확인**해서, 조건에 맞는 경우에만 특정 작업을 실행할 수 있습니다. 예를 들어, 학생들 명단을 훑어보며(for), 키가 150cm가 넘는 학생(if 조건)만 이름을 부르는(실행할 작업) 것과 같습니다.

실습 1: 숫자 목록에서 짝수만 골라내기

숫자들로 이루어진 목록이 있을 때, 이 중에서 짝수인 숫자들만 화면에 출력하고 싶습니다. 어떻게 할 수 있을까요?

먼저 for 문으로 목록의 숫자를 하나씩 꺼내옵니다. 그리고 꺼내온 숫자가 짝수인지 if 문으로 확인합니다. 짝수라면 화면에 출력합니다. 숫자가 짝수인지 확인하는 방법은 숫자를 2로 나누었을 때 나머지가 0인지 보는 것입니다 (% 연산자 사용).

Python
# 숫자 목록을 만듭니다. numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 목록의 각 숫자에 대해 반복합니다. for number in numbers: # 만약 숫자가 짝수라면 (2로 나눈 나머지가 0이라면) if number % 2 == 0: # 숫자를 화면에 출력합니다. print(number)

위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.

출력 결과
2 4 6 8 10

실습 2: 이름 목록에서 특정 글자로 시작하는 이름 찾기

이번에는 이름 목록이 있습니다. 이 중에서 '김' 씨 성을 가진 이름만 찾아서 출력하고 싶습니다.

for 문으로 이름 목록을 하나씩 확인합니다. 각 이름이 '김'으로 시작하는지 if 문으로 판단합니다. 이름이 '김'으로 시작한다면 그 이름을 출력합니다. 문자열(글자 덩어리)이 특정 글자로 시작하는지 확인하려면 startswith()라는 기능을 사용할 수 있습니다.

Python
# 이름 목록을 만듭니다. names = ["김철수", "이영희", "박찬호", "김민준", "최유진", "김서연"] # 목록의 각 이름에 대해 반복합니다. for name in names: # 만약 이름이 "김"으로 시작한다면 if name.startswith("김"): # 이름을 화면에 출력합니다. print(name)

위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.

출력 결과
김철수 김민준 김서연

실습 3: 특정 범위 내에 있고 짝수인 숫자 찾기 (조건 여러 개 사용)

이번에는 조건 두 개를 동시에 만족하는 경우를 찾아보겠습니다. 1부터 20까지의 숫자 중에서, 10보다 크고 동시에 짝수인 숫자만 출력해봅시다.

range(1, 21)을 사용하면 1부터 20까지의 숫자를 순서대로 얻을 수 있습니다 (range(a, b)는 'a'부터 'b-1'까지 숫자를 만들어줍니다). for 문으로 이 숫자들을 하나씩 확인합니다. 그리고 if 문에서 '10보다 큰지' (number > 10) **그리고** '짝수인지' (number % 2 == 0) 두 가지 조건을 and로 연결하여 동시에 확인합니다. 두 조건이 모두 참일 때만 숫자를 출력합니다.

Python
# 1부터 20까지의 숫자에 대해 반복합니다. for number in range(1, 21): # 만약 숫자가 10보다 크고 (and) 짝수라면 if number > 10 and number % 2 == 0: # 숫자를 화면에 출력합니다. print(number)

위 코드를 실행하면 다음과 같은 결과가 화면에 나타납니다.

출력 결과
12 14 16 18 20

주의:

if 문 아래에 속하는 코드는 반드시 **들여쓰기**를 해야 합니다. 들여쓰기는 보통 스페이스 4번 또는 탭 키로 합니다. 만약 들여쓰기를 하지 않으면 파이썬은 어떤 코드가 if 조건이 맞을 때 실행될 코드인지 구분하지 못하고 오류를 발생시킵니다.

핵심 : for 문과 if 문을 함께 사용하면 목록이나 범위 안의 각 항목에 대해 조건을 확인하고, 조건에 맞는 경우에만 코드를 실행하는 '조건부 반복'을 할 수 있습니다.

마무리 요약

이번 강좌에서는 파이썬의 for 문과 if 문을 함께 사용하여 특정 조건에 맞는 항목만 처리하는 방법을 실습해 보았습니다. 숫자 목록에서 짝수 찾기, 이름 목록에서 특정 성씨 찾기, 그리고 여러 조건을 동시에 만족하는 항목 찾기 등 다양한 예제를 통해 이 강력한 조합의 활용법을 익혔습니다. 이 패턴은 데이터를 처리하거나 특정 상황에만 반응하는 프로그램을 만들 때 매우 유용하게 사용됩니다.

다음 강좌에서는 파이썬의 또 다른 중요한 반복문인 while 문에 대해 배워보겠습니다. while 문은 for 문과는 다른 방식으로 반복을 제어합니다.

실습 코드를 직접 입력하고 실행 결과를 확인해보세요. 궁금한 점은 댓글로 남겨주세요!

다음 강의에서는 파이썬 입력 받기에 대해 배웁니다.