본문 바로가기
두두 IT/파이썬 퀴즈

[TODO] 비밀번호가 맞으면 해제, 5번 틀리면 강제종료

by DoDo's 2026. 5. 10.
반응형

 

# 📝 [실습 TODO] 내친김에 '횟수 제한'까지 도전?
# 스마트폰 잠금 화면을 생각해 보세요. 영원히 기회를 주진 않죠? 보통 5번 틀리면 몇 분 동안 잠겨버립니다.
# 방금 배운 while문과 if문을 응용해서 아래의 미션을 수행해 보세요!

# 문제: 사용자가 비밀번호를 입력할 수 있는 기회를 딱 5번만 주는 프로그램을 만들어 보세요.

# 힌트 1: 기회를 셀 수 있는 새로운 변수(예: count = 0)를 while문 바깥에 만들어야 합니다.

# 힌트 2: 틀릴 때마다 count를 1씩 증가시킵니다. (count = count + 1)

# 힌트 3: count가 5가 되면 "5회 틀렸습니다. 종료합니다."를 출력하고 break로 탈출하게 만드세요.

 

 

count = 0
pwd = 4545


while True:
    user_input = int(input("비밀번호를 입력해주세요"))
    if pwd == user_input:
        print("잠금이 해제되었습니다.")
        break
    else:
        count += 1
        print(f"비밀번호가 틀렸습니다. 틀린 횟수 {count}/5")

        if count == 5:
            print("비밀번호 5회 틀렸습니다. 프로그램을 강제 종료합니다.")
            break

 

배운점

if count == 5 이 부분이 else 아래로 들어갈 것이라는 것은 전혀 예상치 못했다.

항상 if문은 맨 위에 있어야 한다고 생각했었는데 이 if는 else에 대한 영향을 받는 if문이기에 else 아래에서 작동한다.

 

그리고 user_input = int(input())을 while 바깥쪽으로 두었더니 1번의 비밀번호 오류에도 5번 모두 틀린 것으로 나온다.

반복하면서 입력도 반복해줘야하는데 잘못된 비밀번호가 반복되어 5번 오류가 된 것이다.

 

반응형