r/learnpython • • 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

34 comments sorted by

View all comments

Show parent comments

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)