Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Should be easy to understand solution in Clear category for Acceptable Password VI by Selindian
def is_acceptable_password(password: str) -> bool:
length = len(password)
digits_but_not_all = any(map(str.isdigit, password)) and not password.isdigit()
not_password = "password" not in password.lower()
min_three_uniques = len(set(password)) >= 3
return length > 6 and (length > 9 or digits_but_not_all) and not_password and min_three_uniques
if __name__ == "__main__":
# 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") == True
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!")
Feb. 26, 2022
Comments: