Как проверить поля, комбинируя лямбду и 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())