#python
Вопрос:
У меня есть следующий код:
def check_if_number_is_5(x):
try:
#some code
except Exception as e:
#some code
for x in some_list:
#Some code
check_if_number_is_5(x)
#Rest of the code
В принципе, я хочу перейти к следующему элементу в моем списке, если это условие выполнено, и я не хочу #Rest of the code
запускать.
Есть ли в любом случае способ сделать это, не возвращая логическое значение и не имея другого условного оператора. Я исследовал возможность выполнения этого с исключением, но проблема в том, что исключение перехватывается блоком функции except.
Комментарии:
1. Погуглите
break
заявление.
Ответ №1:
Ключом является continue
утверждение, чтобы перейти к следующей итерации, но вам нужен триггер, для этого есть 2 способа :
- единственный
boolean
def check_if_number_is_5(x): try: # some code return True except Exception as e: # some code return False some_list = [] for x in some_list: # Some code if check_if_number_is_5(x): continue # Rest of the code
- единственный
exception
def check_if_number_is_5(x): try: # some code pass except Exception as e: # some code raise Exception() some_list = [] for x in some_list: # Some code try: check_if_number_is_5(x) except: continue # Rest of the code
Ответ №2:
таким образом, функция будет выглядеть примерно так: не ловите ошибку в функции
def check_if_number_is_not_5(x):
if x==5:
return False
return True
В коде вызовите функцию и проверьте возвращаемое значение, затем используйте break
для выхода из цикла.
some_list = []
for x in some_list:
# code
if check_if_number_is_not_5(x):
break
# code