조건문으로 코드에 생각을 심어보기

코드를 처음 작성할 때는 대부분 입력한 순서대로 결과가 실행됩니다. 숫자를 출력하고, 계산하고, 문장을 보여주는 식입니다. 그런데 프로그램이 항상 같은 방식으로만 동작하면 생각보다 할 수 있는 일이 많지 않습니다.

예를 들어 로그인 기능을 만든다고 가정해보겠습니다. 비밀번호가 맞으면 접속을 허용하고, 틀리면 다시 입력하게 만들어야 합니다. 쇼핑몰에서는 재고가 있으면 주문을 받고, 없으면 품절 메시지를 보여줘야 합니다. 게임에서는 체력이 0이 되면 종료 화면이 나타나야 합니다.

이런 상황에서는 프로그램이 스스로 조건을 판단해야 합니다. 조건문은 프로그램이 상황에 따라 다른 행동을 하도록 만드는 문법입니다.

Python에서는 주로 if, elif, else를 사용합니다. 반복문이 같은 작업을 여러 번 실행하는 구조였다면, 조건문은 상황에 따라 서로 다른 결과를 만들도록 흐름을 나누는 구조에 가깝습니다.

조건문이 들어가는 순간부터 프로그램은 단순 실행 파일이 아니라 입력과 상황에 반응하는 구조로 바뀌기 시작합니다.

프로그램은 왜 조건을 판단해야 할까

조건문은 프로그램 흐름을 상황에 따라 바꾸기 위해 사용됩니다.

모든 코드가 항상 같은 결과만 출력한다면 프로그램은 단순 계산기에 가까운 수준에 머무르게 됩니다. 실제 서비스나 프로그램은 대부분 상황에 따라 다른 반응을 해야 합니다.

예를 들어 사용자의 나이에 따라 가입 가능 여부를 나눌 수도 있고, 점수에 따라 합격 여부를 판단할 수도 있습니다. 특정 데이터가 존재할 때만 기능을 실행하는 경우도 많습니다.

이런 흐름은 결국 “조건에 따라 실행 결과를 바꾼다”라는 개념으로 연결됩니다.

조건문이 중요한 이유는 프로그램 흐름 자체를 제어할 수 있기 때문입니다. 입력값, 상태, 데이터 조건에 따라 서로 다른 코드를 실행하게 만들 수 있습니다.

처음에는 단순한 분기처럼 보일 수 있지만, 실제 개발에서는 거의 모든 기능이 조건 판단을 기반으로 동작합니다. 로그인, 검색, 추천 시스템, 알림 기능까지 대부분 조건문을 사용합니다.

그래서 조건문을 이해하기 시작하면 코드가 단순 실행 단계를 넘어 상황을 판단하는 구조로 바뀌기 시작합니다.

if문은 가장 기본적인 판단 구조다

if문은 조건이 참일 때만 코드를 실행하는 가장 기본적인 조건문입니다.

예를 들어 시험 점수가 60점 이상이면 합격 메시지를 출력하는 상황이 있습니다. 이런 경우 if 조건을 이용해 점수를 검사할 수 있습니다.

조건문의 핵심은 결과가 참(True)인지 거짓(False)인지 판단하는 것입니다.

그래서 조건문에서는 비교 연산자가 함께 사용됩니다.

비교 방식 의미
== 두 값이 같은지 비교
!= 두 값이 다른지 비교
> 왼쪽 값이 더 큰지 비교
< 왼쪽 값이 더 작은지 비교
>= 크거나 같은지 비교

입문자는 여기서 ===를 가장 많이 헷갈립니다. =는 값을 저장하는 대입 연산자이고, ==는 두 값이 같은지 비교하는 연산자입니다.

실제로 조건문을 처음 배울 때 =를 사용해서 오류가 발생하는 경우가 굉장히 많습니다. 처음에는 작은 차이처럼 보이지만 역할은 완전히 다릅니다.

또 Python에서는 들여쓰기도 매우 중요합니다. 조건문 아래 코드가 들여쓰기 되지 않으면 원하는 흐름으로 실행되지 않을 수 있습니다.

조건문을 배울 때는 “조건을 만든다”보다 “참과 거짓을 검사한다”라고 이해하는 편이 훨씬 자연스럽습니다.

조건문

elif와 else가 추가되면 흐름이 달라진다

실제 프로그램은 하나의 조건만 검사하는 경우보다 여러 상황을 동시에 나누어 처리하는 경우가 훨씬 많습니다.

이때 사용하는 것이 elifelse입니다.

elif는 앞선 조건이 거짓일 때 새로운 조건을 추가로 검사합니다. 여러 상황을 순서대로 나누어 처리할 때 사용됩니다.

예를 들어 시험 점수를 등급으로 나눈다고 가정해보겠습니다.

  1. 90점 이상이면 A
  2. 80점 이상이면 B
  3. 70점 이상이면 C
  4. 나머지는 D

이런 흐름은 하나의 if만으로 처리하기 어렵습니다. 그래서 elif를 이용해 여러 조건을 순서대로 검사합니다.

반대로 else는 앞의 모든 조건이 거짓일 때 마지막으로 실행됩니다. 예외 처리나 기본 결과를 출력할 때 많이 사용합니다.

입문자는 조건문을 작성할 때 순서를 자주 실수합니다. 하지만 조건문은 위에서 아래로 순서대로 검사됩니다.

예를 들어 70점 이상 조건을 먼저 검사하면, 90점 이상도 이미 70점 이상 조건에 포함되기 때문에 아래 조건은 실행되지 않을 수 있습니다.

그래서 조건문에서는 어떤 조건을 먼저 검사할지도 중요합니다.

조건문 안에서는 어떤 값들이 비교될까

조건문에서는 숫자만 비교하는 것이 아닙니다. 문자열, 상태값, 여러 조건의 조합도 함께 비교할 수 있습니다.

예를 들어 사용자가 입력한 아이디가 특정 문자열과 같은지 검사할 수 있습니다. 또는 상품 상태가 “판매중”인지 확인할 수도 있습니다.

숫자 비교에서는 보통 크기 비교가 자주 사용됩니다. 문자열 비교에서는 값이 정확히 일치하는지 확인하는 경우가 많습니다.

여기서 자주 등장하는 것이 논리 연산자입니다.

논리 연산자는 여러 조건을 함께 묶을 때 사용합니다.

  • 나이가 20 이상이면서 회원인 경우
  • 관리자이거나 운영자인 경우
  • 로그인 상태가 아니면서 접근 권한이 없는 경우

이런 조건은 하나만 검사해서는 해결되지 않습니다. 여러 조건을 동시에 판단해야 합니다.

입문 단계에서는 조건이 길어질수록 헷갈리기 쉽습니다. 그래서 처음에는 조건을 짧게 나누어 작성하는 습관이 중요합니다.

조건문을 잘 작성하는 사람들은 복잡한 로직도 작은 조건 여러 개로 나누어 처리하는 경우가 많습니다.

반복문과 조건문은 실제 코드에서 함께 사용된다

실제 프로그램에서는 반복문과 조건문이 거의 항상 함께 사용됩니다.

예를 들어 학생 점수 목록을 반복하면서 60점 이상만 출력할 수 있습니다. 또는 상품 목록을 검사하면서 특정 가격 이상의 상품만 따로 저장할 수도 있습니다.

이런 구조는 데이터 처리에서 매우 자주 등장합니다.

반복문은 데이터를 하나씩 가져오는 역할을 하고, 조건문은 그 데이터가 어떤 조건에 맞는지 판단합니다.

즉, 반복문이 작업을 반복한다면 조건문은 그 안에서 무엇을 처리할지 결정하는 역할에 가깝습니다.

역할 담당 기능
반복문 데이터를 반복 처리
조건문 조건에 따라 실행 분기
반복문 + 조건문 필요한 데이터만 선택 처리

실제 개발에서는 이런 조합이 기본 패턴처럼 사용됩니다.

예를 들어 검색 결과 필터링, 로그인 검사, 추천 알고리즘, 데이터 분석 코드까지 대부분 반복과 조건 구조를 함께 사용합니다.

반복문과 조건문을 함께 이해하기 시작하면 코드 흐름 자체를 읽는 감각도 훨씬 좋아집니다.

조건문 구조

조건문을 이해하면 코드가 단순 실행을 넘어선다

조건문은 프로그램이 상황에 따라 다른 결과를 만들도록 하는 핵심 구조입니다.

조건문을 배우기 전까지의 코드는 입력된 순서대로만 실행되는 경우가 많습니다. 하지만 조건문이 들어가는 순간부터 프로그램은 상황에 따라 다른 반응을 하기 시작합니다.

예를 들어 같은 버튼을 눌러도 로그인 상태에 따라 다른 화면이 나타날 수 있습니다. 같은 데이터라도 조건에 따라 다른 결과로 처리될 수도 있습니다.

이런 구조가 결국 프로그램의 판단 역할을 담당합니다.

물론 실제로 코드가 생각하는 것은 아닙니다. 하지만 개발자가 조건을 설계하면서 프로그램이 특정 상황에서 어떤 행동을 해야 하는지 결정하게 됩니다.

그래서 조건문은 단순 문법 이상의 의미를 가집니다. 프로그램 흐름 자체를 설계하는 시작점에 가깝습니다.

이후 함수(Function)를 배우게 되면 조건문은 더 자주 등장하게 됩니다. 특정 상황에서만 함수를 실행하거나, 입력값에 따라 다른 결과를 반환하는 구조가 필요하기 때문입니다.

또 알고리즘 문제 풀이에서도 조건문은 거의 빠지지 않습니다. 문제를 해결하는 과정 자체가 결국 여러 조건을 판단하는 흐름으로 구성되기 때문입니다.

반복문과 조건문까지 이해하기 시작하면 Python 기초 문법의 핵심 흐름은 거의 잡히기 시작했다고 볼 수 있습니다.