def removedups(word):
if len(word)<=1:
return word
else:
if word[0]==word[1]:
return removedups(word[1:])
else:
return word[0]+removedups(word[1:])
print(removedups('aabbcc'))
Я не понимаю, как рекурсия работает для этого случая. Мои знания до сих пор:Рекурсия Python
1) он пропускает тест базы
2) идет на вызов рекурсии и возвращает «abbcc», а затем он начинает снова:
3) если заявление в вызове рекурсии неверно, поэтому вы не обращаете на него внимания
4) Заявление else, где я запутался, когда он говорит return word[0] +removedups(word[1:])
. Выполняется ли это утверждение if и проверяет слово ('bbcc')
Btv, что первый 'else' пункт может быть удален, а второй' if' может стать одним 'elif', и вернулся углубление с последним' else'. Правильный синтаксис;) –
Фактически оба 'else' могут быть удалены. Краткое описание: p – kda