Как проверить поля, комбинируя лямбду и regx?

Я хочу получить от пользователя имя пользователя и пароль, которые должны быть проверены в виде функции следующим образом

Условия и условия для ввода:

  • Длина пароля больше или равна 6.
  • Длина имени пользователя больше или равна 4.
  • Никому не разрешается присоединяться с именами пользователей 'test' и 'codecup'.
  • Пользователю, чей пароль состоит только из цифр, не разрешается присоединиться.

def check_registration_rules(**kwargs): li = list()

for user,passwd in kwargs.items():
    # print(passwd)
    # print(user)
    if user == 'test' or user == 'codecup':
        continue
    elif len(user) < 4:
        continue
    elif str(passwd).isdigit():
        continue
    elif len(passwd) < 6:
        continue
    else:
        li.append(user)
return li

print(check_registration_rules(username='p', sadegh='He3@lsa'))

Теперь, вместо этих вложенных условий, я хочу использовать комбинацию лямбды и библиотеки regex

Я использую лямбду и библиотеку Reg как пример:

import re
def check_registration_rules(**kwargs):
  return list((dict(filter(lambda e:(len(e[1])>=6 and len(e[0])>=4 and (e[0] !='test' and e[0]!='codecup') and (not(re.match("^([0-9]+)+$",e[1]))) ),kwargs.items()))).keys())
Вернуться на верх