Python 如何根据用户输入检查密码的有效性

Python 如何根据用户输入检查密码的有效性,python,regex,python-3.x,passwords,Python,Regex,Python 3.x,Passwords,检查用户输入密码的有效性 以下是检查密码的标准: a-z之间至少有一个字母。 0-9之间至少有1个数字 A-Z之间至少有2个字母 $@中至少有2个字符,。等 交易密码的最小长度:6 交易密码的最大长度:12 我试过了,但没用 N = [1,2,3,4,5,6,7,8,9,0] A = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a

检查用户输入密码的有效性

以下是检查密码的标准:

a-z之间至少有一个字母。 0-9之间至少有1个数字 A-Z之间至少有2个字母 $@中至少有2个字符,。等 交易密码的最小长度:6 交易密码的最大长度:12 我试过了,但没用

N = [1,2,3,4,5,6,7,8,9,0]
A = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
S = ['!','@','#','$','%','~','`','^','&','*','(',')','_','+','=','-']

pasw = input('Password: ')
if any((word in pasw for word in N,A,S)):
  print ('OK')
else:
   print ('TRY LATER')

最好的方法是按照建议使用正则表达式,但如果你不知道正则表达式是什么,那将是一个全新的世界。我建议你仔细阅读

但使用您理解的代码可以做到:

pasw='PAssword1!!'

S = ['!','@','#','$','%','~','`','^','&','*','(',')','_','+','=','-']
upper,lower,number,special = 0,0,0,0

for n in pasw:
    if n.islower():
        lower=1
    if n.isnumeric():
        number=1
    if n.isupper():
        upper+=1
    if n in S:
        special+=1

if len(pasw) >= 6 and len(pasw) <= 12 and lower > 0 and number > 0 and special > 1 and upper > 1:
    print('OK')
else:
    print('TRY LATER')

你试过正则表达式吗?那是什么?同样的问题…正则表达式是正则表达式,请参见或@mast3rd3mon:谢谢,我应该先理解正则表达式