Puoi creare una funzione che restituisce True/False se un carattere è speciale e poi fare la stessa cosa che fai con isdigit. Io farei una cosa del genere:in particolare volevo sapere se ci fosse qualche metodo alternativo per abbreviare la funzione che verifica i caratteri speciali.
Python:
def isspecial(c):
return c in ['!', '#', '*', '@', '&', '%']
def isstrong(password):
return 7 <= len(password) \
and 2 <= sum(isspecial(c) for c in password) \
and 2 <= sum(c.isdigit() for c in password)
password = input()
print("Strong" if isstrong(password) else "Weak")