Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
If -- Return solution in Clear category for Acceptable Password VI by Andrz
def is_acceptable_password(password: str) -> bool:
MIN_LENGTH = 6
THRESHOLD_LENGTH = 9
UNIQE_LETTERS = 3
# check for unique letters
if len(set(password)) < UNIQE_LETTERS:
return False
if password.lower().find('password') > -1:
return False
pwd_length = len(password)
if pwd_length > THRESHOLD_LENGTH:
return True
else:
return (
not password.isdigit()
and pwd_length > MIN_LENGTH
and any(map(str.isdigit, password))
)
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') == 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!")
March 18, 2021
Comments: