У меня есть списки, которые состоят из случайных букв ..разница, используя рекурсивные функции питона
def similarity(out_list):
i=0
count=0
while i<len(out_list):
if out_list[i][-1]==out_list[i+1][-1]:
count+=1
return similarity(out_list[i][:-1]) + count
elif out_list[i][-1]!=out_list[i+1][-1]:
return similarity(out_list[i][:-1])
i+=2
out_list=["ABABA","ACA","AGAGA","AAVA","XBX","ARAA","AADA","AAA","BABAB","ABA"]
similarity(out_list)
В моем коде я пытаюсь найти разницу между список элементов, которые являются первым и вторым, третьим и вперед и т.д ..
Однако, так как моя функция является рекурсивной, значение I всегда 0, и я не могу контролировать другие элементы, и я не могу найти разницу ..
для Абебы и ACA разница 3, потому что первые A и третий A являются общими в обоих словах с одинаковыми индексами. поэтому разница 5-2 = 3
какие изменения требуется моему коду? Спасибо.
Что такое ваш базовый чехол? И.Е. вы никогда не возвращаете ничего, кроме рекурсивного звонка –