Как поместить весь мой код в бесконечный цикл while? - PullRequest
0 голосов
/ 17 мая 2019

Я написал код на Python. Теперь я хочу, чтобы код повторялся до тех пор, пока не будет получен определенный ввод, используя цикл while, условие которого всегда истинно.

Проблема в том, что я получаю ошибку отступа. Насколько я знаю, в Python отступ указывает, какая часть кода находится под какой. В описанной мной ситуации весь мой код должен находиться под этим бесконечным временем, но, поскольку я добавляю время после написания кода, отступ не устанавливается автоматически. Код длинный, и я не могу поставить вкладку перед каждой строкой своего кода, чтобы взять его под новое время. Как мне исправить эту проблему?

В C ++ я мог бы сделать это, просто добавив while и поместив код в его {}.

Ответы [ 3 ]

1 голос
/ 17 мая 2019

В зависимости от вашего редактора вы можете сделать отступ для целого блока кода одновременно.Pycharm Вы выделяете код и нажимаете вкладку.На чем-то вроде VS Code вы выделяете блок, держите CTRL и нажимаете правую квадратную скобку].

1 голос
/ 17 мая 2019

Общий шаблон, который я использую для «бежать вечно, пока»:

keep_running = True
while keep_running:
    #  code runs forever and returns condition as bool
    if condition is True:
        keep_running = False   # will stop  the loop
        # or use break

Выше минимально и предназначено, чтобы быть легким в походе. Есть много способов выполнить эту задачу, я хотел представить кое-что прямо. Использование break также будет работать таким же образом.

Что касается отступов, смешивание табуляции + пробел может стать странным. Посмотрите библиотеки flake8 и pylint (есть и другие) и посмотрите, что они говорят вам о проблемах с кодом.

Edit: к отступам в Python может быть сложно привыкнуть, и настройка вашей среды программирования очень важна. Виртуальные среды также ОЧЕНЬ ВАЖНЫ (VENV и PIPENV), не пропускайте эту работу, если вы устанавливаете какие-либо пакеты. Также важно научиться читать ошибки Python (исключения / трассировки), они достаточно наглядны, но поначалу не интуитивно понятны. Если вы работаете с C (или PHP, JS и т. Д.), Важно отметить, что некоторые "помои", которые вы могли бы игнорировать, не будут допущены в Python.

0 голосов
/ 17 мая 2019

Простой:

while True:
    print("Hello there")

print("Hello there") - ваш код работает бесконечно.

...