
연산자 다음은 조건문
지난 글에서는 숫자를 더하고 비교하는 연산자를 살펴봤어요. 그런데 계산 결과가 True나 False로 나왔다고 프로그램이 알아서 다른 행동을 하진 않죠. 이 결과에 따라 실행할 코드를 골라 주는 게 조건문입니다.
예를 들어 나이를 확인해서 성인인지 알려 주거나, 비밀번호가 맞을 때만 다음 단계로 넘어가는 식이에요. 프로그램이 상황을 살펴보고 갈림길에서 방향을 고르는 셈이죠. 내가 처음 코드를 배울 때도 if를 만나고 나서야 프로그램이 단순 계산기에서 조금씩 똑똑해지는 느낌이 들었습니다. 어? 내가 정한 기준대로 움직이네, 하고요.
age = 20
if age >= 19:
print("성인입니다")
age >= 19는 앞에서 배운 비교 연산자예요. 조건이 참이면 아래의 print()가 실행됩니다. 거짓이면 그 코드는 건너뛰어요. 조건문은 이렇게 연산자에서 배운 내용을 실제 프로그램의 선택으로 이어 줍니다.

if와 들여쓰기 익히기
if는 “만약 ~라면”이라는 뜻으로 생각하면 편합니다. 기본 모양은 아래와 같아요.
if 조건:
조건이 참일 때 실행할 코드
조건 뒤에 콜론(:)을 쓰고, 다음 줄에는 들여쓰기한 코드를 적습니다. 파이썬은 들여쓰기로 어떤 코드가 조건에 속하는지 구분해요. 보통 스페이스 네 칸을 사용합니다. 에디터에서 Tab 키를 눌렀을 때 스페이스로 입력되도록 설정되어 있다면 편하게 쓸 수 있어요.
weather = "비"
if weather == "비":
print("우산을 챙겨요")
콜론을 빼먹거나 들여쓰기가 어긋나면 오류가 납니다. 솔직히 말하면, 처음엔 내용보다 공백 때문에 실행이 안 되는 일이 더 억울하더라고요. 파이썬 입장에서는 공백도 문법이니, 조건에 속하는 줄을 같은 만큼 들여쓰기했는지 확인하면 됩니다.
조건이 거짓일 때 할 일도 정하고 싶다면 else를 붙여요. else는 “그렇지 않다면”이라는 뜻입니다.
if weather == "비":
print("우산을 챙겨요")
else:
print("가볍게 나가요")

여러 경우는 elif로 나누기
조건이 두 가지를 넘어가면 elif를 사용할 수 있어요. “앞의 조건은 아니고, 이 조건이라면” 정도로 읽으면 됩니다. if 다음에 필요한 만큼 elif를 적고, 마지막에 꼭 필요하다면 else를 둡니다.
score = 82
if score >= 90:
print("아주 잘했어요")
elif score >= 70:
print("좋아요")
else:
print("다시 도전해 봐요")
파이썬은 위에서부터 조건을 확인하다가 처음으로 참인 조건의 코드만 실행한 뒤 조건문을 빠져나옵니다. 그래서 score가 82라면 첫 조건은 거짓이고, 두 번째 조건이 참이 되어 “좋아요”가 출력돼요.
조건의 순서가 중요한 이유도 여기에 있습니다. 다음처럼 넓은 조건을 먼저 쓰면 의도와 다른 결과가 나올 수 있어요.
score = 95
if score >= 70:
print("좋아요")
elif score >= 90:
print("아주 잘했어요")
95는 score >= 70도 참이라서 첫 번째 문구만 출력됩니다. 더 구체적인 기준인 90점을 먼저 확인하면 해결돼요. 조건을 작성할 때는 위에서부터 하나씩 확인해 보는 습관이 꽤 유용합니다.

조건을 조합하고 결과 확인하기
비교 연산자 하나만으로 조건을 만들 수도 있고, and, or, not으로 여러 조건을 조합할 수도 있습니다. and는 모두 참일 때, or는 하나라도 참일 때 전체 조건이 참이에요. not은 참과 거짓을 뒤집습니다.
age = 24
has_ticket = True
if age >= 19 and has_ticket:
print("입장할 수 있어요")
else:
print("조건을 확인해 주세요")
조건이 길어지면 코드가 맞는지 머릿속으로만 판단하기 어렵습니다. 작은 값으로 직접 실행하고, 각 조건이 참인지 따져 보세요. and 앞뒤 중 어느 쪽이 거짓인지 확인하면 어디서 예상과 달라졌는지도 찾기 쉬워요.
파이썬에서는 숫자 0, 빈 문자열 "", 빈 목록 []처럼 비어 있거나 0인 값은 조건에서 거짓처럼 취급됩니다. 반대로 값이 있으면 참처럼 취급되는 경우가 많아요. 이 특성은 편리하지만 처음엔 뜻밖의 결과를 만들 수 있습니다. 특히 “변수에 값이 있는가?”를 확인하는 코드에서 빈 문자열과 공백 한 칸짜리 문자열은 다르다는 점도 기억해 두면 좋아요.
name = "민지"
if name:
print(f"안녕하세요, {name}님")
else:
print("이름을 입력해 주세요")

조건문으로 갈림길을 만들고, 다음은 반복문
조건문을 쓸 때는 이 세 가지를 한 번 확인해 보세요.
- 조건 뒤에 콜론을 적었나요?
- 조건에 속한 코드의 들여쓰기가 일정한가요?
- 여러 조건이 있다면 먼저 검사할 순서가 맞나요?
조건이 맞는데도 결과가 다르다면 비교 기준을 하나씩 출력해 보는 것도 방법이에요. 예를 들어 print(score >= 90)처럼 조건 자체를 확인하면 어디서 생각과 달라졌는지 금방 보입니다. 저도 조건을 한 줄에 몰아넣었다가, 괄호와 and 위치를 다시 읽느라 시간을 쓴 적이 있어요. 좀 길어 보이더라도 조건을 알아보기 쉽게 나누는 편이 낫더라고요.
if, elif, else를 익히면 프로그램이 상황에 따라 서로 다른 일을 하게 만들 수 있습니다. 다만 지금까지의 예시는 조건을 한 번 확인하고 지나가는 흐름이었어요. 같은 일을 여러 번 하거나 목록의 항목을 차례로 살펴보려면 반복문이 필요합니다. 다음 글에서는 for와 while로 반복을 다루면서, 조건문과 반복문을 어떻게 함께 쓰는지도 이어서 살펴볼게요.
![]() | ![]() |


첫 댓글을 남겨보세요.