[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문을 배우고,
정해진 횟수만큼 반복하는 구조를 익힙니다. 리스트와 함께 사용할 수 있어요.