@proclub

Почему 1 способ не работает?

first_step = [1, 20, 45, 3.141552, 78,0]
second_step = [69, 6, 8, 3.141552, 0,12]

def finder(f, s):
  result = False
  for x in f:
    for i in s:
      if x == i:
        result = True
        return result
        print('yea')
finder(first_step, second_step)


а вот так работает

def common_data(list1, list2):
     result = False
     for x in list1:
         for y in list2:
             if x == y:
                 result = True
                 return result
print(common_data([1,2,3,4,5], [5,6,7,8,9]))
print(common_data([1,2,3,4,5], [6,7,8,9]))
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Всё работает, всё запускается. Пускаем в прод
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MrDoso4ka
Начинающий программист, что просто хочет выжить:)
Первый способ тоже работает. Но есть 2 нюанса:

Во первых, при вызове функции finder, вы не используете print, как в первом случае. Поэтому, вы не видите её вывод.

Во вторых, насколько я понимаю, вы хотели решить первую проблему, добавив в функцию "print('yea')", однако, поскольку эта функция идёт после return, до нёё код не доходит. Поставьте "print('yea')" перед return, и всё заработает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы