728x90

이전 강의에서는 조건문 실전 예제를 통해
if / elif / else 사용 감각을 잡았습니다.
이번 강의에서는 조건을 더 복잡하게 조합할 수 있는
논리 연산자(and, or, not)를 배웁니다.
논리 연산자란 무엇인가
논리 연산자는
여러 조건을 하나의 조건처럼 묶어주는 연산자입니다.
현실로 비유하면 이런 느낌입니다.
- 아이디도 맞고 비밀번호도 맞아야 로그인
- 점수가 90 이상 또는 출석이 좋으면 통과
- 성인이 아닌 경우 출입 불가
이런 판단을 코드로 만들 때
논리 연산자를 사용합니다.
1️⃣ and 연산자 (둘 다 참이어야 함)
and는
모든 조건이 참(True)일 때만 참이 됩니다.
age = 25
has_id = True
if age >= 20 and has_id == True:
print("입장 가능합니다.")
- 나이가 20 이상
- 신분증이 있음
두 조건이 모두 만족해야 실행됩니다.
2️⃣ or 연산자 (하나만 참이어도 됨)
or는
조건 중 하나만 참이어도 참이 됩니다.
score = 85
attendance = 95
if score >= 90 or attendance >= 90:
print("통과입니다.")
- 점수가 높거나
- 출석률이 높으면
하나만 만족해도 실행됩니다.
3️⃣ not 연산자 (결과를 반대로)
not은
조건의 결과를 반대로 뒤집습니다.
is_logged_in = False
if not is_logged_in:
print("로그인이 필요합니다.")
- False → True
- True → False
“아니다”를 표현할 때 사용합니다.
4️⃣ 논리 연산자와 비교 연산자 함께 사용하기
논리 연산자는
비교 연산자와 거의 항상 함께 사용됩니다.
age = int(input("나이를 입력하세요: "))
ticket = input("티켓이 있나요? (y/n): ")
if age >= 20 and ticket == "y":
print("입장 가능합니다.")
else:
print("입장 불가입니다.")
조건을 사람 말처럼 읽어보면 이해가 쉬워집니다.
5️⃣ 괄호로 조건 묶기
조건이 길어질 경우
괄호를 사용하면 가독성이 좋아집니다.
score = 85
attendance = 70
if (score >= 80 and attendance >= 70) or score >= 95:
print("합격입니다.")
- 기본 합격 조건
- 또는 점수가 매우 높으면 통과
이처럼
조건의 우선순위를 명확히 할 수 있습니다.
6️⃣ 실습 예제
아래 조건을 만족하는 프로그램을 만들어보세요.
- 나이를 입력받는다
- 회원 여부(y/n)를 입력받는다
- 나이가 20 이상이고 회원이면 “할인 적용”
- 아니면 “일반 요금”
age = int(input("나이를 입력하세요: "))
member = input("회원인가요? (y/n): ")
if age >= 20 and member == "y":
print("할인 적용")
else:
print("일반 요금")
이번 강의 핵심 정리
- and는 모든 조건이 참일 때만 실행
- or는 하나만 참이어도 실행
- not은 조건 결과를 반대로 만든다
- 논리 연산자는 조건문을 강력하게 만든다
로그인 조건을 만든다면
and / or 중 어떤 연산자를 쓰게 될까요?
이유도 함께 생각해보세요.
다음 강의에서는
중첩 if (if 안에 if) 를 배웁니다.
조건문을 단계적으로 나누는 방법을 알아봅니다.
728x90
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 17강 반복문 for 기본 구조 이해하기 (0) | 2025.12.29 |
|---|---|
| [Python] 16강 중첩 if 문 (if 안에 if) 이해하기 (0) | 2025.12.29 |
| [Python] 14강 조건문 실전 예제로 감 잡기 (0) | 2025.12.28 |
| [Python] 13강 elif로 여러 조건 처리하기 (0) | 2025.12.27 |
| [Python] 12강 if / else 구조로 두가지 경우 처리하기 (0) | 2025.12.27 |