Python 有效验证

Python 有效验证,python,string,validation,Python,String,Validation,我试图结合两种形式的验证来检查字符串中的字符序列。正在努力添加第二个,不确定我错在哪里,请您帮忙好吗 def passwordnumbercheck(password): numberCheck = []; for i in password: numberCheck.append(i.isnumeric()); if numberCheck == [False, False, True, False]: return True;

我试图结合两种形式的验证来检查字符串中的字符序列。正在努力添加第二个,不确定我错在哪里,请您帮忙好吗

def passwordnumbercheck(password):
    numberCheck = [];
    for i in password:
        numberCheck.append(i.isnumeric());
    if numberCheck == [False, False, True, False]:
        return True;
        print ("this is a valid password")
    else:
        return False;
        print ("this is invalid")


def passwordlettercheck(password):
    letterCheck = [];
    for i in password:
        letterCheck.append(i.isalpha());
    if letterCheck == [True, True, False, True]:
        return True;
        passwordnumbercheck (password)
    else:
        return False;
        print("this is not a valid password")



password = input("enter a valid password, it must be a letter, a letter, a number and a letter ")
passwordlettercheck (password)
passwordnumbercheck (password)

您可以使用re模块

>>> password = input("enter a valid password, it must be a letter, a letter, a number and a letter ")
>>> password = input("enter a valid password, it must be a letter, a letter, a number and a letter :\n")
enter a valid password, it must be a letter, a letter, a number and a letter : 
ll7l
>>> def check(passw):
        if re.match(r'^[A-Za-z][A-Za-z]\d[A-Za-z]$', passw):
            print('valid password')
        else:
            print('Invalid password')


>>> check(password)
valid password
>>> password = input("enter a valid password, it must be a letter, a letter, a number and a letter :\n")
enter a valid password, it must be a letter, a letter, a number and a letter :
7u6y
>>> check(password)
Invalid password

为什么打印后返回:(应该是打印(“这是无效的”)返回错误;太棒了!谢谢,会试试这个的