Найти - Пользователи
Полная версия: Как поставить количество попыток на введения пароля?
Начало » Python для новичков » Как поставить количество попыток на введения пароля?
1 2 3
Shaman
У меня цикл попыток сделан так, чтобы представлять собой цикл попыток. Всё что к нему не относится делается за его пределами.
Пошли какие-то фантазии. -А если нужно использовать сохранённый пароль? А если вместо авторизации нужно написать “Фурье”? А если писать на асме, je можно минуя ret, в любую точку из любой.
py.user.next
Shaman
Пошли какие-то фантазии.
Не, я тебе привёл примеры из практики. Ты просто не писал системы авторизации, поэтому тебе это кажется лишними вопросами.
Lestoroer
началось
Shaman
В данной постановке вопроса точно лишние. Практика мне известна и моноцикл, слитый из нескольких, она не оправдывает. Если что посложнее, тогда уже конечный автомат.
Shaman
Lestoroer
началось
Дай поговорить!
py.user.next
Shaman
Если что посложнее, тогда уже конечный автомат.
А я и без автомата могу всё ясно записать, особо не меняя цикл. А у тебя да, там нужно либо цикл переписывать, либо разделять циклы (а они могут требовать зависимостей каких-то (типа пароля, зависящего от имени)).

Я писал знаешь что, я писал ftp-сервер, и вот там много было таких мест, где надо было в зависимости от команды и её параметров выполнять разные действия. Там ещё есть пассивный режим - такая запутанная вещь с вычислением портов, которые нужно открывать в процессе взаимодействия с клиентом. Вообще, интересно было, так как это не учебная программка (удобненькая), а реальная программа (по rfc), которая должна и пользователя обслужить, и ещё у себя внутри всё точно выполнить, чтобы никаких ошибок не было.
Shaman
py.user.next
А у тебя да, там нужно либо цикл переписывать, либо разделять циклы
Именно что не переписывать, а разделять. Чаще всего будет два цикла: такой, как показал и содержащий его цикл выбора пользователя.
У тебя же не ясно пишется и добавляется, а какая-то каша из управляющих конструкций с неочевидными зависимостями, возбуждающая воспоминания о goto и C.
ЗЫ
Я тоже много чего писал и пишу реально работающего, потому пугать меня ftp серверами не нужно, благо
iptables –append INPUT –match conntrack –ctstate ESTABLISHED,RELATED –jump ACCEPT
iptables –append OUTPUT –match conntrack –ctstate ESTABLISHED,RELATED –jump ACCEPT
частенько глаза мозолят.
py.user.next
Shaman
У тебя же не ясно пишется и добавляется, а какая-то каша из управляющих конструкций с неочевидными зависимостями
Вообще-то, у меня там через цепочку утверждений код построен. Твой код я легко ломаю любым дополнительным условием. Мой же код не связан, добавляй, что хочешь.

Shaman
Я тоже много чего писал и пишу реально работающего, потому пугать меня ftp серверами не нужно
Так ты же написал код с использованием else у цикла. В чём необходимость?
vic57
уважаемые, а почему просто функцию не сделать?
#-*-coding:utf8-*-
def get_pass(keyword,count=3):
    while count:
        pswd = raw_input('Password: ')
        if pswd == keyword: return True
        count -= 1
    return False
print get_pass(u'парол')
Shaman
vic57
а почему просто функцию не сделать?
“Просто” не интересно - нужно сделать декоратор.
py.user.next
Так ты же написал код с использованием else у цикла. В чём необходимость?
Необходимость обозначить паттерн. Без завершающего сообщения можно без него. Меня больше коробит условие в цикле.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB