Как мне перейти к следующему элементу в моем списке на основе некоторого условия, выполненного в вызванной мной функции?

#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