检验密码的强度,一直无效语法

检验密码强度,我写的总是无效语法,没有思路了,指点一下呀,这种定义函数,真的是好难

img

img

import string
def main(pwd):
    dig=lCase =hCase=punnctuation=  0
    if len(pwd)<6:
        print('weak')
    for ch in pwd:
        if ch in string.digits:
            dig=1
        elif ch in string.ascii_lowercase:
            lCase=1
        elif ch in string.ascii_uppercase:
            hCase=1
        elif ch in string.punctuation:
            punnctuation=1
    if dig+lCase+hCase+punnctuation == 1:
        print("weak")
    elif dig+lCase+hCase+punnctuation == 2:
        print("below_middle")
    elif dig+lCase+hCase+punnctuation == 3:
        print("above_middle")
    elif dig+lCase+hCase+punnctuation == 4:
        print("strong")
    else:
        print('weak')

main(input("input code:"))


def main(pwd:str):
    _digit = False
    _upper = False
    _lower = False
    _comma = False
    if len(pwd)<6: return 'weak'
    for i in pwd:
        if i.isdigit():_digit=True
        elif i.isupper():_upper=True
        elif i.islower():_lower=True
        elif i in ',.':_comma=True
    res = _digit+_upper+_lower+_comma
    if res == 4: return 'strong'
    if res == 3: return 'above_middle'
    if res == 2: return 'below_middle'
    return 'weak'