Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second: Using Regex solution in Clear category for Acceptable Password VI by dbirmajer
# Taken from mission Acceptable Password V
import re
def is_acceptable_password(password: str) -> bool:
cond_1 = re.compile(r"^(?=\w*\d)(?=\w*[^\d]).{6,9}")
cond_2 = re.compile(r".{10,}")
cond_3 = re.compile(r"password", re.I)
three_different = len(set(password)) >= 3
return three_different and (
bool(cond_1.search(password)) or bool(cond_2.search(password))
) and not bool(cond_3.search(password))
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!")
Aug. 30, 2021
Comments: