Условие в функции, позволяющее остановить ее при вызове в цикле? [закрыто]Python

Программы на Python
Anonymous
Условие в функции, позволяющее остановить ее при вызове в цикле? [закрыто]

Сообщение Anonymous »

Пожалуйста, рассмотрите эту простую функцию:

Код: Выделить всё

def my_func(x):
if x > 5:
print(x)
else:
quit()

print('this should be printed only if x > 5')
Тогда, если мы вызовем эту функцию в цикле:

Код: Выделить всё

for i in [2, 3, 4, 5, 6, 7]:
my_func(i)
Ожидаемый результат:

Код: Выделить всё

6
this should be printed only if x > 5
7
this should be printed only if x > 5
Но выход фактически отключает ядро.
Я знаю, что следующая функция будет работать, но я не хочу иметь вторую распечатайте там:

Код: Выделить всё

def my_func(x):
if x > 5:
print(x)
print('this should be printed only if x > 5')
else:
pass
Наконец, я знаю, что если я помещу цикл внутри функции, я смогу использовать continue или Break, но я предпочитаю сохранять функцию простой и вместо этого помещать вызов функции в цикле.
Итак, что нужно изменить в первой функции, чтобы добиться ожидаемого результата?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-a-loop

Вернуться в «Python»