Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Acceptable Password VI by mortonfox
def is_acceptable_password(password: str) -> bool:
return 'password' not in password.lower() and (
len(password) >= 10 or (
len(password) > 6 and any(c.isdigit() for c in password) and not all(c.isdigit() for c in password)
)
) and len(set(password)) >= 3
if __name__ == '__main__':
print("Example:")
print(is_acceptable_password('short'))
# These "asserts" are used for self-checking and not for an auto-testing
assert is_acceptable_password('short') == False
assert is_acceptable_password('short54') == True
assert is_acceptable_password('muchlonger') == True
assert is_acceptable_password('ashort') == False
assert is_acceptable_password('muchlonger5') == True
assert is_acceptable_password('sh5') == False
assert is_acceptable_password('1234567') == False
# assert is_acceptable_password('12345678910') == False
assert is_acceptable_password('password12345') == False
assert is_acceptable_password('PASSWORD12345') == False
assert is_acceptable_password('pass1234word') == True
assert is_acceptable_password('aaaaaa1') == False
assert is_acceptable_password('aaaaaabbbbb') == False
assert is_acceptable_password('aaaaaabb1') == True
assert is_acceptable_password('abc1') == False
assert is_acceptable_password('abbcc12') == True
print("Coding complete? Click 'Check' to earn cool rewards!")
July 20, 2020