[10단계] 로그인은 몇 번까지? – 조건문 + 반복문으로 시도 제한 만들기

파이썬 100단계, 10단계 시도 제한 만들기
< 10단계, 조건문+반복문 >

📌 학습 목표

조건문과 반복문을 결합해 특정 조건이 충족될 때까지 반복하고, 실패 횟수에 따라 종료하는 로직을 구현합니다.


1. 도입 – 로그인 시도, 무제한이면 안 됩니다

비밀번호를 계속 틀려도 로그인 시도 가능하면 보안 문제가 됩니다.
→ 대부분의 서비스는 로그인 시도를 3회로 제한합니다.
이건 조건문 + 반복문을 조합하면 간단하게 구현할 수 있어요.


2. 기본 구조 – while + if 결합하기


시도횟수 = 0
while 시도횟수 < 3:
    입력받기
    if 정답이면:
        성공 메시지
        반복 종료
    else:
        실패 메시지
        시도횟수 += 1

3. 실전 예제 – 로그인 시도 제한 시스템


correct_id = "admin"
correct_pw = "1234"
attempt = 0
MAX_TRY = 3

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

    if user_id == correct_id and password == correct_pw:
        print("✅ 로그인 성공!")
        break
    else:
        attempt += 1
        print(f"❌ 로그인 실패 ({attempt}/{MAX_TRY})")

if attempt == MAX_TRY:
    print("🚫 로그인 시도 횟수를 초과했습니다. 접근이 제한됩니다.")

4. 실무 응용 – 남은 기회 안내 & 강제 종료 처리

  • break로 반복문 탈출
  • if attempt == MAX_TRY로 최종 판별
  • exit() 또는 return을 통한 종료 처리도 가능

5. 실무 팁 – 입력 오류만큼은 체크하세요

  • .strip() : 앞뒤 공백 제거
  • .lower() : yes/no 등 입력 정규화

6. 실전 미션 – 3번 안에 인증코드 맞추기


secret = "qwerty"
attempt = 0

while attempt < 3:
    answer = input("인증코드를 입력하세요: ")
    if answer == secret:
        print("✅ 인증 성공!")
        break
    else:
        attempt += 1
        print(f"❌ 실패 ({attempt}/3)")

if attempt == 3:
    print("🚫 인증 실패: 제한 횟수 초과")

7. 다음 단계 예고

11단계에서는 for문을 배우고,
정해진 횟수만큼 반복하는 구조를 익힙니다. 리스트와 함께 사용할 수 있어요.