Python 시리즈 8
1 / 2
[Python] #4 조건문
[Python] #4 조건문
#python#코드트리#trail0

참고: codetree Trail 0의 Chapter 3, 5
1. 조건문
프로그램이 특정 조건을 만족할 때만 특정 코드를 실행하게 하는 구조
1-1. 기본 구조
1-1-1. 조건
참 또는 거짓으로 평가되는 표현식
1-1-2. 실행할 동작
조건이 참일 때 수행되는 행동
1-2. if
if 조건:
실행할 동작
- 실행할 동작에서는 정확한 코드 블록 구분위해
들여쓰기(tab·띄어쓰기 4칸) 중요 - 올바르지 않은 들여쓰기는
IndentationError오류 발생 (파이썬의 코드 블록 시작 인식 불가) - 단일(첫 번째) 조건이 참이면 해당 코드 블록 실행
- 단일 조건이 거짓이면 해당 코드 블록 건너뜀
1-2-1. 조건 표현식
- If 문에서는 True 또는 False로 평가되는 모든 논리적 수식을 조건으로 사용한다.
- 비교 연산자로 만듦.
# 예시1
age = int(input())
if age >= 18:
print('성인입니다')
print('good')
print('확인 완료되었습니다')
# 출력1 (입력 20)
성인입니다
good
확인 완료되었습니다
# 출력2 (입력 10)
확인 완료되었습니다
1-3. else
1-3-1. if-else 문
조건에 따라 두 가지 경우 중 하나를
선택적으로 실행하는 조건문
if 조건:
조건이 True일 때 실행되는 코드
else:
조건이 False일 때 실행되는 코드
- 조건이 참이면 if 블록(만약 그러면)의 코드가 실행되고, 조건이 거짓이면 else 블록(그렇지 않다면)의 코드 실행
- 단, else 없이 if 문
단독사용 가능 (특정 조건일 때만 실행하고 그렇지 않을 때는 아무 것도 하지 않을 수 있다.) - if 문의 확장으로, 거짓일 때 수행할 동작(참/거짓)을 명확히 정의하므로 프로그램의 흐름을 더 명확 + 예측 가능하게 함
1-4. elif(=else if)
1-4-1. if-elif-else 문
하나의 조건만 확인하는 if 문보다 더 다양한 상황을 처리할 수 있도록 하는 조건 분기 구조
if 조건1:
조건1이 True일 때 실행할 코드
elif 조건2:
조건1이 False이면서, 조건2가 True일 때 실행할 코드
elif 조건3:
조건1, 조건2가 False이면서, 조건3이 True일 때 실행할 코드
else:
조건1, 조건2, 조건3이 False일 때, 실행할 코드
elif는 2개 이상의 추가 조건을 순차적으로 여러 조건을 검사하며 각 조건에 맞는 코드 실행else는 모든 조건이 만족하지 않을 때 해당 코드 블록 실행- 가장 위 if 조건을 만족하면(만약 그렇다면) 해당 코드만 실행하고 - 만족하지 않으면(그렇지 않고) 다음 elif 조건 확인(만약 그렇다면) - if 와 elif 조건이 만족하지 않으면(위 조건들이 모두 아니면) else 블록 코드 실행
- if-elif-else 문에서,
앞의 조건에서 참이 나오면 그 뒤의 나머지 elif 와 else 문은 실행되지 않음
1-4-2. elif와 else의 선택적 사용
- if-elif-else 구조에서 상황에 따라 필요에 맞게 elif 와 else 는 선택적 사용 가능 (생략 가능)
1-4-2-1. if-else 만 사용
if 조건:
조건이 True일 때 실행할 코드
else:
조건이 False일 때 실행할 코드
- 특정 조건이 참일 때와 거짓일 때, 두 가지 경우만 처리
1-4-2-2. if-elif 만 사용
if 조건1:
조건1이 True일 때 실행할 코드
elif 조건2:
조건1이 False이면서, 조건2가 True일 때 실행할 코드
elif 조건3:
조건1, 조건2가 False이면서, 조건3이 True일 때 실행할 코드
- 여러 조건을 확인하되, 모든 조건이 거짓일 때 특별히 처리할 필요가 없을 때 사용
1-5. 논리 연산자 활용 조건문
- 조건이 2개 이상일 때
복합 조건문 만들 때 사용 - 보다 복잡한 논리 구조 구현 가능하게 도움
1-5-1. and
- 모든 조건이 참일 때, 전체 조건은 참 (조건1 or 조건2")
# 예시1 ("회원이 아닙니다"가 출력되는 선택지를 모두 고르시오.)
age = int(input("나이를 입력하세요: "))
member = input("회원입니까? 맞으면 1, 아니면 0을 입력하세요: ")
if age >= 18 and member == 1:
print("서비스를 이용할 수 있습니다.")
elif age >= 18:
print("회원이 아닙니다.")
else:
print("미성년자는 이용할 수 없습니다.")
# ① 20\n1
# ② 18\n0 ✅
# ③ 17\n1
# ④ 15\n0
# ⑤ 20\n0 ✅
1-5-2. or
- 하나 이상의 조건이 참일 때, 전체 조건은 참 (조건1 or 조건2)
- 예외 조건을 포함해야 할 때 괄호()와 함께 전체 조건 구성 가능
# 예시1 (성인이 되기 위한 전체 조건)
(나이 >= 18 and 시민권 보유) or 특별 허가
# 예시2 (윤년 판단하기)
year = 2000
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year}년은 윤년입니다.")
else:
print(f"{year}년은 윤년이 아닙니다.")
# 2000년은 윤년입니다.
1-6. 중첩 조건문
if 조건1:
# 조건1이 참일 때 실행하는 코드
if 조건2:
# 조건1과 조건2가 모두 참일 때 실행하는 코드
else:
# 조건1은 참이지만 조건2는 거짓일 때 실행하는 코드
else:
# 조건1이 거짓일 때 실행하는 코드
if 문 안에 또 다른 if 문을 사용하는 것
- 한 가지 큰 조건을 먼저 확인 후, 그 조건이 참일 때만 추가 조건을 세분화하여 처리
- 복잡한 상황을 단계별로 나누어 깔끔하게 처리
# 예시1 (해외 여행을 떠나기 전 조건 확인하기)
여권_valid = True # 여권 유효 여부
비자_required = False # 비자 필요 여부
if 여권_valid:
# 여권이 유효한 경우
if 비자_required:
print("비자를 발급받습니다.")
else:
print("바로 여행을 떠납니다.")
else:
# 여권이 유효하지 않은 경우
print("여권을 갱신하거나 새로 발급받습니다.")
# 예시2 (3개의 정수 A, B, C를 입력받았을 때, 중앙값을 구하는 프로그램을 작성하기)
# 중앙값: 오름차순 나열 시, 중앙에 오는 값
a, b, c = list(map(int, input().split()))
if a > b:
if b > c:
print(b)
elif c > a:
print(a)
else:
print(c)
else:
if c < a:
print(a)
elif b < c:
print(b)
else:
print(c)

[코드트리 추천 링크] https://www.codetree.ai/ko/trail-info?referralCode=th2gr22n
댓글 0
아직 댓글이 없습니다.