M-00023.py 비밀번호 유효성 검사

10 P
QUESTION 23 #721
10자리 이상이고 영문 대문자·숫자 모두 포함하는지 검사. 빈칸에 들어갈 알맞은 식을 채우세요.

예시 입력: Abcdefg1234 (엔터) Abcdefg1234
main.py
def isValid(p) :
   if len(p) < 10 :
      return False

   is_num = False
   is_upper = False

   for ch in p :
      if ch >= "A" and ch <= "Z" :
         is_upper = True
      if ch >= "0" and ch <= "9" :
         is_num = True

   return 


print("※ 비밀번호는 10자리 이상, 영문 대문자를 포함하여야 합니다.")

password1 = input("비밀번호 : ")
password2 = input("비밀번호 확인 : ")

while True :
    if isValid(password1) and password1 == password2 :
        break
    else :
        if not isValid(password1) :
            print("비밀번호가 잘못되었습니다! 다시 입력해 주세요")
        else :
            print("비밀번호와 비밀번호 확인이 서로 다릅니다! 다시 입력해 주세요.")

    password1 = input("비밀번호: ")
    password2 = input("비밀번호 확인 : ")

print("유효한 비밀번호입니다.")
실행 결과 예시
※ 비밀번호는 10자리 이상, 영문 대문자를 포함하여야 합니다.
유효한 비밀번호입니다.
INTERACTIVE SHELL Shift + Enter 로 즉시 실행