Я работаю над Python online exercise.Найти, если есть последовательные вхождения int в список ints
Задача состоит в том, чтобы:
Given an array of ints, return True if the array contains a 2 next to a 2 somewhere. has22([1, 2, 2]) → True has22([1, 2, 1, 2]) → False has22([2, 1, 2]) → False
код, который я получил до сих пор:
def has22(nums):
for i in range (len(nums)-1):
if nums[i+1]==2 and nums[i]==2:
return True
break
возвратит все True
экземпляры, но я не могу придумать, как включить заявление для False
(я хотел бы придерживаться решения потока управления). Какие-либо предложения?
Ваш код работает. Но поскольку я не согласен с этим, цикл for и возвращаемый False statemnt находятся на одном уровне (а не в возврате False внутри цикла). Когда функция вызывается, она запускает цикл for, смотрит на оператор if, если условие встречается где угодно в определенном диапазоне, оно возвращает True, если не делает ничего, и переходит к следующему утверждению, возвращая False. Это верно? – MyCarta
Да, вы правы, если «loop» не находит элементы, удовлетворяющие условию - он «запускает» следующий оператор - возвращает False –