if, elif, else를 활용한 논리적 분기 설계
돈을 입력받아 서로 다른 화면을 출력하는 논리 구조
상황과 상황(데이터)에 맞춰 프로그램의 흐름을 가르는 첫걸음입니다.
조건이 참(True)일 때만 하위 들여쓰기 영역이 실행됩니다.
player_score = 85
# 조건식 끝에는 콜론(:)이 필수입니다.
if player_score >= 60:
print("축하합니다!") # 들여쓰기 4칸
print("합격입니다.") # 같은 깊이로 묶인 그룹
print("채점 종료") # 들여쓰기 없음: 무조건 실행 조건식 결과가 True / False일 때 실행할 로직을 정확히 나눕니다.
player_score = int(input())
if player_score >= 60:
print("합격") # 참일 때
else:
print("불합격") # 거짓일 때 조건이 여러 개일 때 순차 검사하여 가장 먼저 참이 되는 것 하나만 수행합니다.
score = int(input())
if score >= 90:
print("A등급")
elif score >= 80:
print("B등급") # 90 미만 80 이상
elif score >= 70:
print("C등급") # 80 미만 70 이상
else:
print("F등급") # 70 미만 모두 비슷해 보이지만 동작 결과가 완전히 다를 수 있으니 유의합니다.
score = 95
# 1. elif를 쓴 경우 (하나의 묶음)
if score >= 90:
print("A") # 출력 결과: A (이후 조건 건너뜀)
elif score >= 80:
print("B")
# 2. 연속 if를 쓴 경우 (각각의 개별 체크)
if score >= 90:
print("A") # 출력 결과: A (참이므로 실행)
if score >= 80:
print("B") # 출력 결과: B (이것도 참이어서 실행!) 여러 개의 논리적 조건을 하나로 병합하여 판단합니다.
| 연산자 | 기능 | 코드 예제 |
|---|---|---|
and | 모두 True여야 최종 True | age >= 13 and height >= 150 |
or | 하나만 True여도 최종 True | age < 8 or age >= 65 |
not | 참/거짓 결과를 반대로 뒤집음 | if not is_premium: |
구조가 단순한 조건 대입을 초간결하게 작성합니다.
# 기본 포맷: 값A if 조건식 else 값B
player_hp = 50
# 한 줄 조건 적용
status = "생존" if player_hp > 0 else "사망"
# 출력문 내에서 분기
print("YES" if number % 3 == 0 else "NO") | 구분 | 점검 사항 |
|---|---|
| 문법 기호 | if, elif, else 우측 끝에 콜론(:) 체크 |
| 들여쓰기 | 블록 내 줄 맞춤을 공백 4칸으로 통일했는지 점검 |
| 동등 비교 | 할당(=)이 아닌 비교 연산자(==)를 썼는지 체크 |
| 제어 흐름 | 여러 개 중 하나만 실행하기를 원한다면 elif 사용 |