Как в питоне вернуться на определенную строку
Перейти к содержимому

Как в питоне вернуться на определенную строку

Как вернуться на определённую строку в коде? python

Как вернуться на определённую строку кода и чтобы при этом не завершался цикл. Без def.

Аналог goto ? Да действительно, встроенных инструментов, полностью реализующих функционал goto , нет (почему так сделано — отдельный вопрос). Однако есть огромное количество идиом, позволяющих частично или полностью эмулировать это.

    ; ;
  • выбор ключа в словаре;
  • динамическое програмирование и т.п.
    ; ;
  • встроенные высокоуровневые функции (модуль itertools ) и т.п.

Есть и другие варианты, более специфичные. Также всегда есть возможность именовать одинаковые участки кода с помощью функций.

Если все-таки нужно написать именно аналог goto , то вот варианты:

  • написать функцию, меняющую байткод функции с goto (а конкретно, добавляющую где надо opcode JUMP_ABSOLUTE );
  • написать свою кодировку с goto , ассоциированный декодер, зарегистрировать его, и писать в начале скрипта #*- coding: my_goto_codec -*- ;
  • написать функцию, наподобие exec , реализующую анализ инструкций вручную.

Как видите, гораздо проще пользоваться встроенными средствами, нежели городить трёхэтажные велосипеды с сомнительной полезностью. Лично я знаю только одну проблему, которую достаточно трудно решить подручными средствами в питоне — break из всех вложенных циклов в самое начало. Пожалуй, это единственное место, где goto был бы полезен.

Как перейти к определённой строчке кода в python?

Vaindante

А вообще, надо бы учитывать количество попыток и ловить конкретное, а не общее исключение.

  • Facebook
  • Вконтакте
  • Twitter

Levman5

Zoominger

Сделать можно, но уверены ли вы, что тут нужен именно try/except? Может, проверять условиями корректность работы?

Если б вы скинули код, то можно было бы подсказать.

  • Facebook
  • Вконтакте
  • Twitter

Levman5

У меня есть вот такой код:

И иногда в сайт может зависнуть и я не могу знать где это произойдёт, но перезагрузка помогает

Как перейти к предыдущей строке в python?

Я пытаюсь вернуть этот код к «Да или Нет»? введите, если пользователь вводит неверный ввод. Вы можете мне помочь? Вот мой код:

Вы можете добиться того, что, заключая этот код с в while цикла, а также вы можете изменить КРП условными к чему — то более элегантный и читаемым, например:

метод lower() изменит строку на нижний регистр. Вам также не нужен последний оператор else .

Обновление: я отредактировал свой оригинальный ответ, чтобы быть более конкретным, спасибо за комментарии. Это не будет принимать никаких других ответов, кроме вариантов да/нет.

В Python нет такой концепции, как goto других языков. *

То, что вы хотите сделать, это использовать вложенный цикл, обернутый вокруг части кода, где вы вводите параметр.

* goto обычно считается непримиримой особенностью языка, и это долго продолжающийся аргумент, который вы можете найти по всему Интернету.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *