我只是从python开始,我正在尝试为密码建立一个简单的python验证。我希望密码包含2个大写字母,2个小写字母和2个特殊字符。密码的最小长度必须为10。这就是我到目前为止的密码。代码没有给我任何错误,但我无法获得良好的结果。非常感谢您的帮助,因此我可以在这里了解我做错了什么。
def motdepasse(motdepasse):
majuscule = 'ABCDEFGHIJKLMNOPQRSTUVXYZ'
minuscule = 'abcdefghijklmnopqrstuvxyz'
char = '[@_!#$%^&*()<>?/\|}{~:]'
while True:
motdepasse = input("Entrez un mot de passe (Doit contenir 10 caractères avec 2 majuscules, 2 minuscules et 2 caractères spéciaux): ")
valid = 0
if len(motdepasse) < 10:
print("Entrez un mot de passe valide!")
continue
elif not (motdepasse.find(majuscule)) >= 2 :
print("Entrez un mot de passe valide!")
continue
elif not (motdepasse.find(minuscule)) >= 2:
print("Entrez un mot de passe valide!")
continue
elif not (motdepasse.find(char)) >= 2 :
print("Entrez un mot de passe valide!")
continue
else:
valid = True
break
if valid == 0:
print("Mot de passe valide")
majuscule = 'ABCDEFGHIJKLMNOPQRSTUVXYZ'
minuscule = 'abcdefghijklmnopqrstuvxyz'
char = '[@_!#$%^&*()<>?/\|}{~:]'
while True:
motdepasse = input("Entrez un mot de passe (Doit contenir 10 caractères avec 2 majuscules, 2 minuscules et 2 caractères spéciaux): ")
valid = 0
if len(motdepasse) < 10:
print("Invalid Length")
continue
elif not len([x for x in motdepasse if x in majuscule]) >= 2:
print("No Caps")
continue
elif not len([x for x in motdepasse if x in minuscule]) >= 2:
print("Invalid lowercase")
continue
elif not len([x for x in motdepasse if x in minuscule]) >= 2 :
print("Invalid specials")
continue
else:
valid = True
break
if valid == 0:
print("Mot de passe valide")