Python(파이썬)_점프 투 파이썬/기본 문제풀이 및 연습

비밀번호 보안 강화기 (기초)

study note 2025. 8. 30. 00:14
반응형

❰문제 풀이9❱

-사용자로부터 비밀번호를 입력받아서, 다음 조건 중 충족하지 못한 항목을 출력하는 프로그램을 작성하세요.

비밀번호는 8자 이상, 영문자가 포함되어야 함, 숫자가 포함되어야

 

pw = input("비밀번호를 입력하세요 : ")# 비밀번호를 입력 받을 pw 변수 선언 

# c라는 임시변수안에 pw 값을 저장 후 해당 
값에 영어가 있는지 하나씩 추출 확인 후 하나라도 True면 반환
has_letter = any(c.isalpha() for c in pw) 
#c라는 임시변수 안에 pw값을 저장 후 해당 값에 숫자가 있는지 하나씩 추출확인 후 하나라도 True 면 반환
has_digit = any(c.isdigit() for c in pw)

if len(pw) >= 8:
#조건 비밀번호의 길이는 8과 같거나 8보다 크면
print("비밀번호는 8자 이상이어야 합니다.") # 출력

if not has_letter:#조건 pw 
안에 영어가 없으면
print("비밀번호에 영문자가 포함되어야 합니다.") # 출력
if not has_digit:
조건 pw 
안에 숫자가 없으면
print("비밀번호에 숫자가 포함되어야 합니다.") 출력
if len(pw) >= 8 and has_letter and has_digit:#조건 모든 값 충족 시 
print("사용 가능한 비밀번호입니다.") # 출력

 

해당 코드를 보면 다중 if문을 사용하였는데 elif는 하나의 조건이 틀리면 그 틀린 조건 한개만 보여주는데 

다중 if문을 사용하면 각 조건마다 틀린 걸 알려주기 때문에 다중 if문을 사용

즉, 모든 조건을 개별적으로 검사해서, 사용자에게 구체적인 피드백을 주는 게 목적이기 때문에 elif가 아닌 다중 if를 사용 한겁니다

반응형