Python - простая задачка на checkio.org

arriome
Дата: 08.05.2018 06:28:29
Добрый день. Решаю задачку по проверке пароля (>10 символов, верхний и нижний регистр, цифры):

import re
def checkio(data: str) -> bool:
    
        
    #replace this for solution

    assert (9 < len(data) < 64)  == True, "My0"
    assert re.findall("[a-z]+",data) == True, "My1"
    assert re.findall("[A-Z]+",data) == True, "My2"
    assert re.findall("[0-9]+",data) == True, "My3"
    return True or False


Вылетаем в ошибку на пароле, хотя все условия проходят:
Fail: checkio("ULFFunH8ni") AssertionError: My1, checkio, 8

Что я не так делаю?
ZyK_BotaN
Дата: 08.05.2018 07:59:23
arriome
Что я не так делаю?

список стрингов не равен True
ZyK_BotaN
Дата: 08.05.2018 08:01:21
перепиши так:
assert bool(re.findall("[a-z]+",data)), "My1"
mayton
Дата: 08.05.2018 08:12:57
ULFFunH8ni не может удовлетворять всем трем регуляркам одновременно.

Кст я заметил семантическую пропасть между постановкой (пароль должен содержать
и цифры и символы и заглавные..) и реализацией. Ее (постановку) нужно переосмыслить
перед тем как переводить на язык регулярок. Один символ пароля должен быть либо
цифра либо.... e.t.c.