[8단계] 로그인처럼 생각하라 – 다중 조건 검증 구조 익히기

📌 학습 목표

비교 연산자와 논리 연산자를 조합하여, 실전 수준의 다중 조건 검증 로직을 구현합니다.

책상위 노트북 화면에 파이썬 코드가 켜지 있는 모습
< 8단계 다중 조건 검증 구조 >



1. 도입 – “ID도 맞고, 비밀번호도 맞아야지”

우리가 매일 보는 로그인 화면을 생각해봅시다.

“아이디가 맞아도 비밀번호가 틀리면 로그인 안 돼요.”

→ 이건 결국 이런 구조입니다:


if 아이디 == 정답 and 비밀번호 == 정답:
    로그인 성공
else:
    로그인 실패

실무에선 이처럼 두 가지 이상의 조건이 동시에 만족되어야 실행되는 로직이 무수히 많습니다.



2. 비교 연산자 + 논리 연산자 조합하기

복습 차원에서 다시 정리해봅니다.

연산자 의미 예시
== 같다 a == b
!= 같지 않다 a != b
>, < 크다 / 작다 a > b, a < b
and 모두 참 a == b and c == d
or 하나만 참 a > b or x < y


3. 실전 예제 – 로그인 검증 시스템


user_id = input("아이디를 입력하세요: ")
password = input("비밀번호를 입력하세요: ")

if user_id == "admin" and password == "1234":
    print("✅ 로그인 성공!")
else:
    print("❌ 로그인 실패. 아이디 또는 비밀번호를 확인하세요.")


4. 실무 활용 예시 – 접근 제한 시스템


age = int(input("나이를 입력하세요: "))
is_member = input("회원가입 했나요? (yes/no): ") == "yes"

if age >= 18 and is_member:
    print("접근 허용: 성인 회원")
else:
    print("접근 불가: 성인이 아니거나 비회원입니다.")


5. 실무 팁 – 조합 로직을 안전하게 다루는 법

  • input() 값 비교 시 오타 방지를 위해 .lower() 활용
  • 조건이 길어질 경우 괄호로 명확히 감싸기

answer = input("동의하시겠습니까? (yes/no): ").lower()
if answer == "yes":
    print("동의 완료")


6. 실전 미션 – 도서관 입장 조건 만들기

조건:

  • 나이가 14세 이상
  • 학생이거나 회원이면 입장 가능

age = int(input("나이를 입력하세요: "))
is_student = input("학생인가요? (yes/no): ") == "yes"
is_member = input("도서관 회원인가요? (yes/no): ") == "yes"

if age >= 14 and (is_student or is_member):
    print("📚 입장 가능합니다.")
else:
    print("🚫 입장 불가 – 나이 또는 조건 미달")


7. 다음 단계 예고

9단계에서는 조건문 중첩 구조를 배우고,
로그인 → 권한 체크 → 메뉴 분기처럼 단계별 조건 분기를 연습합니다.