반응형
❰문제 풀이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를 사용 한겁니다
반응형
'Python(파이썬)_점프 투 파이썬 > 기본 문제풀이 및 연습' 카테고리의 다른 글
숫자만 추출하기 (0) | 2025.08.29 |
---|---|
모음 개수 세기 (0) | 2025.08.29 |
문자열을 거꾸로 뒤집어서 출력하는 코드 (0) | 2025.08.28 |
비밀번호 유효성 검사기(기초버전) (0) | 2025.08.27 |
이메일 아이디 추출기 (0) | 2025.08.27 |