Форум сайта python.su
Добрый вечер. Подскажите пожалуйста вот с такой задачей. Написать функцию которая проверяет или пароль подходит под требования безопасности или нет. В конце должна возвращать: True если удовлетворяет и False соответственно если нет. Пароль удовлетворяет требование безопасности в том случае если длина его не меньше чем 6 символов, так же должна присутствовать минимум одна заглавная буква, и одна малая буква.
def prowerka(data): a = len(data) if a > 10 and data.isdigit and data.islower and data.isupper: return True else: return False
Офлайн
In [1]: data = 'python' In [2]: data.isdigit Out[2]: <function isdigit> In [3]: data.isdigit() Out[3]: False
Офлайн
def prowerka(data): a = len(data) if a > 10: for i in data: if i.isupper() and i.islower() == True: return "a" else: return False
Офлайн
isupper() и islower() (для обного символа) взаимоисключающие понятия, регистр не может быть и верхний и нижний, он либо верхний, либо нижний, поэтому пятая строчку не бывает True
Отредактировано ajib6ept (Апрель 12, 2015 22:24:40)
Офлайн
тогда как проверить эти два условия?
Офлайн
def f(s, op): return any(op(i) for i in s) def prowerka(passwd): return len(passwd) > 5 and f(passwd, str.islower) and f(passwd, str.upper)
Офлайн
[code python]password = ('a1213aafksfsads')[/code]
Офлайн
alex28746потому что я случайно написал не isupper а upper :)
А почему при таком значении пароля выдает True?
return len(passwd) > 5 and f(passwd, str.islower) and f(passwd, str.isupper)
Офлайн
а не мог бы пояснить пожалуйста что делает первая функция? )
Офлайн
alex28746any
а не мог бы пояснить пожалуйста что делает первая функция? )
Офлайн