흐름 제어는 프로그래밍의 '갈림길'과 '루프'를 만드는 기본!
파이썬의 흐름 제어문인 if, while, for 를 제대로 익히는 시간이에요 ✊
오늘은 if문에 대해 중점적으로 살펴볼게요 가주아!
✅ if문
1️⃣ 기본 구조
if 조건:
실행할 문장
else:
조건이 거짓일 때 실행할 문장
- 조건문이 참이면 if 블록 실행 => if로 조건을 판단
- 조건문이 거짓이면 else 블록 실행 => else는 조건이 틀렸을 때 실행
- 중괄호 없이 들여쓰기(indentation)로 블록 구분
- if 문을 만들 때는 if 조건문 바로 다음 문장부터 모든 문장에 들여쓰기를 한다.
- 들여쓰기 무시하는 경우 오류 발생
📌 예시
만약 돈이 있다면 택시를 타고 가고, 그렇지 않으면 걸어가자
money = True
if money:
print("택시 타자")
else:
print("걸어가자")
# 실행결과: 택시 타자
2️⃣ 조건문에서 자주 쓰는 비교 연산자
| 연산자 | 의미 | 예시 |
| == | 같다 | x == 3 |
| != | 다르다 | x != 3 |
| > | 크다 | x > 3 |
| < | 작다 | x < 3 |
| >= | 크거나 같다 | x >= 3 |
| <= | 작거나 같다 | x <= 3 |
☑️ and, or, not, in 도 있어요 !
# and: 둘 다 참
if x > 0 and x < 10:
print("x는 0보다 크고 10보다 작다")
# or: 둘 중 하나만 참이면 참
if x == 0 or x == 10:
print("x는 0 또는 10")
# not: 결과 반전
if not money:
print("돈이 없다")
# in: 포함 여부 확인
if 'apple' in ['banana', 'apple']:
print("있어요!")
3️⃣ elif로 여러 조건 만들기
pocket = ['paper','cellphone']
card = True
if 'money' in pocket: # 주머니에 돈이 있으면
print("택시 타자")
elif 'card' in pocket: # 주머니에 돈이 없고 카드가 있으면
print("택시 타자")
else: # 주머니에 돈이 없고 카드도 없으면
print("걸어가자")
# 실행결과: 택시 타자
- elif는 else if의 줄임말
- 여러 조건을 차례로 검사할 때 쓰기 좋다
- 이전 조건문이 거짓일 때 수행
- 개수에 제한 없이 사용 가능하다
4️⃣ 조건부 표현식 (삼항 연산자 느낌)
score = 80
result = "pass" if score >= 60 else "fail"
print(result)
# 실행결과: pass
💡 해설
- score = 80 → 점수가 80점
- "pass" if score >= 60 else "fail" → score가 60 이상이면 "pass"를, 그렇지 않으면 "fail"을 선택
- 그 결과는 변수 result에 저장
- 마지막 줄에서 result를 print(출력)하면 "pass"가 나온다
🧠 이런 걸 뭐라고 부르냐면?
→ 조건부 표현식(Conditional Expression) 또는 삼항 연산자라고 불러요.
→ A if 조건 else B 형태로, 짧게 조건 처리할 때 아주 유용해요!
💡 실전 예제 문제 모음 – 조건부 표현식 편
📌 예제 1: 짝수/홀수 판별기
사용자로부터 정수를 입력받아서 짝수이면 "짝수입니다", 아니면 "홀수입니다"를 출력해보자.
num = int(input("숫자를 입력하세요: "))
result = "짝수입니다" if num % 2 == 0 else "홀수입니다"
print(result)


💡해설
- num = int(input(...)) → 사용자가 입력한 값을 정수(int)로 변환해서 num 변수에 저장
- num % 2 == 0 → 입력한 숫자를 2로 나눈 나머지가 0이면 짝수입니다
- (예: 4 % 2 = 0 → 짝수 / 5 % 2 = 1 → 홀수)
- 조건부 표현식 → "짝수입니다" if num % 2 == 0 else "홀수입니다"
- (조건이 참이면: 짝수, 조건이 거짓이면: 홀수)
📌 예제 2: 시험 점수에 따른 학점 부여
점수를 입력받아 다음 기준에 따라 학점을 출력해보자.
score = int(input("점수를 입력하세요: "))
grade = (
"A" if score >= 90 else
"B" if score >= 80 else
"C" if score >= 70 else
"D" if score >= 60 else
"F"
)
print(f"당신의 학점은 {grade}입니다.")


💡해설
- score = int(input(...)) → 사용자로부터 점수를 입력받고, 문자열을 정수(int)로 변환해서 score에 저장
- 조건부 표현식 중첩 사용( 조건을 여러 단계로 나눠서 순서대로 검사 )
- 점수가 높은 순서대로 내려가면서 해당하는 학점을 grade 변수에 저장
- 만약 점수가 85점이라면: score >= 90 → False / score >= 80 → True → "B"가 선택
- print(f"...") → f-string을 사용해서 "당신의 학점은 B입니다." 출력
📌 예제 3: 나이 & 회원 여부로 영화 할인 적용
나이가 65세 이상이거나, 회원이면 영화 할인 가능. 조건에 따라 "할인 적용" 또는 "일반 요금"을 출력하자.
age = int(input("나이를 입력하세요: "))
is_member = input("회원이신가요? (y/n): ") == "y"
price_type = "할인 적용" if age >= 65 or is_member else "일반 요금"
print(price_type)


💡해설
- age = int(input(...)) → 사용자에게 나이를 입력받고 정수로 변환해서 age 변수에 저장
- is_member = input(...) == "y" → "회원이신가요?"에 "y"라고 대답하면 True, 아니면 False가 돼요.
- 조건부 표현식 → "할인 적용" if age >= 65 or is_member else "일반 요금"
- age >= 65 → 나이가 65세 이상이면 할인 대상 / is_member → 회원이면 할인 대상
- 이 둘 중 하나라도 참이면 "할인 적용" / 둘 다 아니면 "일반 요금"
- print(price_type) → "할인 적용" or "일반 요금"에 해당하는 메시지를 출력
✅ if문 정리 요약
| 구성 요소 | 설명 | 예시 |
| if 조건: | 조건이 참일 때 실행 | if score >= 90: |
| else: | 조건이 거짓일 때 실행 | else: |
| elif: | 여러 조건 분기할 때 | elif score >= 80: |
| 조건부 표현식 | 한 줄 if–else | "합격" if score >= 60 else "불합격" |
| 연산자 활용 | 비교, 논리, 포함 | ==, and, in, not 등 |
💡 핵심 요약
if문은 조건에 따라 다른 행동을 하게 만드는 분기문이에요.
elif와 else를 조합하면 다양한 상황에 대응할 수 있고, 조건부 표현식은 짧게 쓸 때 아주 유용합니다!
📝 다음 글 예고
while문 완전정복 (무한루프, break, continue)
'SK-Rookies > 파이썬' 카테고리의 다른 글
| [파이썬] for문 완전정리 (range, 리스트 순회, 중첩 for까지!) (0) | 2025.07.03 |
|---|---|
| [파이썬] while문 완전정복 (break, continue, 무한루프) (0) | 2025.07.03 |
| [파이썬] 리스트, 튜플, 딕셔너리, 집합 – 파이썬 컬렉션 완전 정복 (0) | 2025.06.27 |
| [파이썬] 불(bool) 자료형 & 연산자 – 조건 판단의 핵심 기초 (0) | 2025.06.27 |
| [파이썬] 변수와 자료형 – Python 기초 개념 정리 (0) | 2025.06.26 |
