@Carver182
инженер-программист

Как реализовать «особое» поведение программы на первой итерации цикла for?

Перехожу от C++ на Python 3x. несмотря на большое количество плюшек питона, значительно укорачивающих код (типа генераторов списков), ну оочень не хватает такой фичи плюсов как возможность заставлять цикл выполнить некоторое действие лишь на входе, а не на каждой итерации. Пример:
for (my_str.prepend(" "), int i = 0; i < my_str.length() ; i++) {...}

Решение вынести это самое действие на строку выше не подходит, нужно выполнить именно на входе в цикл.
Так же можно было вот так делать:
for (int i = 0; do_something() , i < my_str.length() ; i++) {...}

Выполнить некоторые действия перед каждой итерацией. Перед проверкой.
Считаю такие вещи очень удобными без которых пришлось бы целый городить городить. Скажите, есть какие нибудь пути сделать это на питоне?
  • Вопрос задан
  • 651 просмотр
Решения вопроса 1
x67
@x67
Когда вы входите в цикл, вам уже известно начальная координата цикла и чаще всего конечная (для цикла for), соответственно не нужно обмазываться синтаксической сахарной пудрой и просто вставить нужное действие перед циклом ровно в тот момент, когда вы поняли, что исполнение цикла неизбежно. Это ведь равнозначно вашему примеру? Если нет, приведите пример, когда результат может отличаться. Можно обернуть это все в функцию для удобства:
def ForCycle(start,end):
 result=start**2
 for i in (start,end):
  result+=i
 return result
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы