Подтвердить что ты не робот

Python: наружный цикл "break"

в следующем коде python:

narg=len(sys.argv)
print "@length arg= ", narg
if narg == 1:
        print "@Usage: input_filename nelements nintervals"
        break

Я получаю:

SyntaxError: 'break' outside loop

Почему?

4b9b3361

Ответ 1

Поскольку break не может использоваться для выхода из if, он может вырваться из циклов. То, как указано поведение Python (и большинства других языков).

Что вы пытаетесь сделать? Возможно, вы должны использовать sys.exit() или return вместо этого?

Ответ 2

Потому что оператор break предназначен для выхода из циклов. Вам не нужно выходить из инструкции if, она заканчивается в конце.

Ответ 3

Потому что разрыв может использоваться только внутри цикла. Он используется для выхода из цикла (остановка цикла).

Ответ 4

break прерывает цикл, а не оператор if, как указывали другие. Мотивация для этого не так уж трудно увидеть; думать о коде как

for item in some_iterable:
    ...
    if break_condition():
        break 

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

Ответ 5

Это старый вопрос, но если вы хотите вырваться из оператора if, вы можете сделать следующее:

while 1:
    if blah:
        break

Ответ 6

за использование перерыва использования выхода()