def reverse_all(names_lst): """ ############################################################## # TODO: Replace this block of comments with your own # # method description and add at least 3 more doctests below. # ############################################################## >>> names_lst = ["Emma", "Liam", "Olivia", "Noah", "Ava"] >>> reverse_all(names_lst) ['ammE', 'maiL', 'aivilO', 'haoN', 'avA'] >>> names_lst = ["William"] >>> reverse_all(names_lst) ['mailliW'] >>> names_lst = ["Isabella", "Oliver", "Mia"] >>> reverse_all(names_lst) ['allebasI', 'revilO', 'aiM'] # Add your own doctests below """ if not names_lst: return [] else: reversed_name = names_lst[0][::-1] return [reversed_name] + reverse_all(names_lst[1:]) I'm confused about recursion how does reverse_all(names_lst[1:]) reverse all the strings? why do i need to list + for the first elements
def reverse_all(names_lst):
"""
##############################################################
# TODO: Replace this block of comments with your own #
# method description and add at least 3 more doctests below. #
##############################################################
>>> names_lst = ["Emma", "Liam", "Olivia", "Noah", "Ava"]
>>> reverse_all(names_lst)
['ammE', 'maiL', 'aivilO', 'haoN', 'avA']
>>> names_lst = ["William"]
>>> reverse_all(names_lst)
['mailliW']
>>> names_lst = ["Isabella", "Oliver", "Mia"]
>>> reverse_all(names_lst)
['allebasI', 'revilO', 'aiM']
# Add your own doctests below
"""
if not names_lst:
return []
else:
reversed_name = names_lst[0][::-1]
return [reversed_name] + reverse_all(names_lst[1:])
I'm confused about recursion how does reverse_all(names_lst[1:]) reverse all the strings? why do i need to list + for the first elements
Step by step
Solved in 2 steps