Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
with comment solution in Clear category for Acceptable Password VI by Sim0000
def is_acceptable_password(password: str) -> bool:
# c1 : length should be bigger than 6
# c2 : contains at least one digit but it can't be all digits
# c3 : having numbers is not required for password longer than 10
# c4 : string should not contain word "password" in any case
# c5 : consist of 3 different letters
c1 = len(password) >= 6
c2 = any(map(str.isdigit, password)) and not password.isdigit()
c3 = len(password) >= 10
c4 = 'password' not in password.lower()
c5 = len(set(password)) >= 3
return c1 and (c2 or c3) and c4 and c5
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
print("Coding complete? Click 'Check' to earn cool rewards!")
March 19, 2020
Comments: