سلام و خسته نباشید

استادمون یک مسئله تو برنامه نویسی پایتون بهمون داده که باید یه تابع بازگشتی بنویسیم که یک لیست رو به عنوان پارامتر میگیره و باید بزرگترین عدد در اون لیست رو از طریق فراخوانی مجدد خود تابع پیدا گنیم.
تو این مسئله حق استفاده از لوپ یا توابع پیش ساخته پایتون مثل max() رو نداریم.
خودم سعی کردم حل کنم ولی همیشه به مشکل ارور در فراخوانی نامحدود میخورم.


defrecursive_max(lst):
# Base case: 1! = 1
iflen(lst) ==1:
return lst[0]
else:
highest, counter =recursive_max(lst)
if highest < lst[counter]:
highest = lst[counter]
counter +=1
return highest, counter

find_max =recursive_max([-8, -2, 1, -4, -5])
print(find_max)




اگه کسی از دوستان کمک خوشجال میشم. ممنون