def sucontain(A):
C = A.split()
def magic(x):
B = [C[i]==C[i+1] for i in range(len(C)-1)]
return any(B)
N = [x for x in C if magic(x)]
return N
Phrase = "So flee fleeting candy can and bandage"
print (sucontain(Phrase))
Цель этой функции - создать список слов, которые находятся внутри каждого последующего слова. Например, функция возьмет строку «« Так бегут мимолетные конфеты и бандаж »в качестве входных и возвращаемых [« беги »,« и »], потому что бег внутри мимолетно (следующее слово) и« и »находится внутри« повязки », Если ничего подобного не найдено, должен быть возвращен пустой список []. Мой код прямо сейчас возвращает [] вместо ['flee', 'and']. Может кто-то указать, что я делаю неправильно? выПоиск слов, которые находятся внутри последовательных слов
Что делает ваша функция 'magic'? Я имею в виду, можете ли вы объяснить это своими словами? –
волшебная функция должна проверять индекс C (слово в списке) и проверять последовательное слово (C [i + 1] в диапазоне длины C (в данном случае длина 7, поэтому диапазон (0,7), затем возвращает любой истинный случай, который затем должен быть преобразован в те слова, которые были истинными. – user2847306
Ваша магическая функция проверяет _equality_, а не 'C [i]' _in_ 'C [i + 1]'. Это то, что вы делаете неправильно. –