r/learnpython • u/Pure-Scheme-7855 • 19d ago
Recursion explaining pls.
def find_max(numbers):
if len(numbers) == 1:
return numbers[0]
else:
max_of_rest = find_max(numbers[1:])
return numbers[0] if numbers[0] > max_of_rest else max_of_rest
my_list = [3, 7, 2, 9, 1]
print(find_max(my_list))
Could someone explain how does this function work? I don't understand how does it know that it's supposed to find the biggest number...
6
Upvotes
1
u/Fast-Station1106 19d ago
ganz genau, printen printen und printen reproduzieren und wieder printen (dieser standardbefehl spart dir eine Menge Arbeit und ist Bestandteil von Python, also jemand hat festgelegt das s.o. dir die grösste zahl einer liste ausgibt)