Форум сайта python.su
88
У меня цикл попыток сделан так, чтобы представлять собой цикл попыток. Всё что к нему не относится делается за его пределами.
Пошли какие-то фантазии. -А если нужно использовать сохранённый пароль? А если вместо авторизации нужно написать “Фурье”? А если писать на асме, je можно минуя ret, в любую точку из любой.
Офлайн
857
ShamanНе, я тебе привёл примеры из практики. Ты просто не писал системы авторизации, поэтому тебе это кажется лишними вопросами.
Пошли какие-то фантазии.
Офлайн
5
началось
Офлайн
88
В данной постановке вопроса точно лишние. Практика мне известна и моноцикл, слитый из нескольких, она не оправдывает. Если что посложнее, тогда уже конечный автомат.
Отредактировано Shaman (Апрель 28, 2016 16:31:11)
Офлайн
88
LestoroerДай поговорить!
началось
Офлайн
857
ShamanА я и без автомата могу всё ясно записать, особо не меняя цикл. А у тебя да, там нужно либо цикл переписывать, либо разделять циклы (а они могут требовать зависимостей каких-то (типа пароля, зависящего от имени)).
Если что посложнее, тогда уже конечный автомат.
Отредактировано py.user.next (Апрель 28, 2016 16:55:06)
Офлайн
88
py.user.nextИменно что не переписывать, а разделять. Чаще всего будет два цикла: такой, как показал и содержащий его цикл выбора пользователя.
А у тебя да, там нужно либо цикл переписывать, либо разделять циклы
Офлайн
857
ShamanВообще-то, у меня там через цепочку утверждений код построен. Твой код я легко ломаю любым дополнительным условием. Мой же код не связан, добавляй, что хочешь.
У тебя же не ясно пишется и добавляется, а какая-то каша из управляющих конструкций с неочевидными зависимостями
ShamanТак ты же написал код с использованием else у цикла. В чём необходимость?
Я тоже много чего писал и пишу реально работающего, потому пугать меня ftp серверами не нужно
Отредактировано py.user.next (Апрель 29, 2016 13:08:48)
Офлайн
уважаемые, а почему просто функцию не сделать?
#-*-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'парол')
Отредактировано vic57 (Апрель 29, 2016 18:18:12)
Офлайн
88
vic57“Просто” не интересно - нужно сделать декоратор.
а почему просто функцию не сделать?
py.user.nextНеобходимость обозначить паттерн. Без завершающего сообщения можно без него. Меня больше коробит условие в цикле.
Так ты же написал код с использованием else у цикла. В чём необходимость?
Офлайн