"""
Inserire una password con specifici vincoli.
Vincoli:
- almeno 10 caratteri
- almeno una minuscola e una maiuscola
- almeno una cifra
- almeno un carattere speciale
- almeno 5 caratteri diversi.
"""
print(__doc__)
minuscole = "abcdefghijklmnopqrstuvwxyz"
cifre = "0123456789"
caratteri_speciali = "!%,*-;$\\/+?'"
maiuscole = minuscole.upper()
password = input("Inserire una password: ")
flag_minuscole = False
flag_maiuscole = False
flag_speciali = False
flag_cifre = False
flag_lunghezza = False
flag_diversi = False
diversi = set()
for c in password:
diversi.add(c)
if c in minuscole:
flag_minuscole = True
if c in maiuscole:
flag_maiuscole = True
if c in caratteri_speciali:
flag_speciali = True
if c in cifre:
flag_cifre = True
if len(password) >= 10:
flag_lunghezza = True
if len(diversi) >= 5:
flag_diversi = True
if flag_lunghezza and flag_minuscole and flag_maiuscole and flag_cifre and \
flag_speciali and flag_diversi:
print("La password rispetta i requisiti")
else:
print("La password non rispetta i seguenti requisiti:")
if not flag_lunghezza:
print("- lunghezza")
if not flag_minuscole:
print("- minuscole")
if not flag_maiuscole:
print("- maiuscole")
if not flag_speciali:
print("- caratteri speciali")
if not flag_diversi:
print("- caratteri diversi")