기계 학습 유닛 연습 문제

3248 단어
제목.
함 수 를 만 들 고 문자열 을 매개 변수 로 받 아들 여 암호 로 사용 하면 보안 강 도 를 판단 합 니 다.문자열 에 대문자, 소문 자, 숫자 문자 또는 구두점 기호 중 하나 만 포함 되 어 있 으 면 약 한 암호 이 고, 두 가 지 는 중 저 보안 암호 이 며, 세 가 지 는 중 고 보안 암호 이 며, 네 가 지 를 포함 하면 강 한 암호 입 니 다.
정규 표현 식 은 사용 하지 마 세 요.
여러분 은 단체 에서 토론 하거나, 직접 당신 의 답안 을 댓 글 에 쓸 수 있 습 니 다.
참조 코드
import string

def check(pwd):
    #        6   
    if not isinstance(pwd, str) or len(pwd)<6:
        return 'not suitable for password'
    #                  
    d = {1:'weak', 2:'below middle', 3:'above middle', 4:'strong'}
    #      pwd      、    、            
    r = [False] * 4
    for ch in pwd:
        #      
        if not r[0] and ch in string.digits:
            r[0] = True
        #        
        elif not r[1] and ch in string.ascii_lowercase:
            r[1] = True
        #        
        elif not r[2] and ch in string.ascii_uppercase:
            r[2] = True
        #           
        elif not r[3] and ch in ',.!;?<>':
            r[3] = True
    #         ,      
    return d.get(r.count(True), 'error')

좋은 웹페이지 즐겨찾기