A community for students.
Here's the question you clicked on:
 0 viewing
frankdpnw
 3 years ago
I am failing to understand what last return statement does and was wondering if someone could point me to some additional reading material
def fib(n)
if n ==o:
return o
if n == 1:
return 1
else:
return fib(n1) + fib(n2)
I have run the debugger and added a print statement but that return fib(n1) + fib( n2) completely baffles me
I called the function
print fib(7) which gives me the correct answer of 13 but darned if I can follow the logic
Thanks
frankdpnw
 3 years ago
I am failing to understand what last return statement does and was wondering if someone could point me to some additional reading material def fib(n) if n ==o: return o if n == 1: return 1 else: return fib(n1) + fib(n2) I have run the debugger and added a print statement but that return fib(n1) + fib( n2) completely baffles me I called the function print fib(7) which gives me the correct answer of 13 but darned if I can follow the logic Thanks

This Question is Open

bwCA
 3 years ago
Best ResponseYou've already chosen the best response.0this function is recursive. The first two 'returns' are the base case. The last one is the recursive call. it calls the function fib() twice with the arguments n1 and n2. The Wikipedia entries for recursion is pretty good: http://en.wikipedia.org/wiki/Recursion http://en.wikipedia.org/wiki/Recursion_(computer_science) I'm pretty sure there was an explanation of recursion in one of the lectures (2008). It is not an easy concept to grasp when first exposed to it (my opinion) but when you get it it's cool. Definitely need to take the time to understand it. images help after you've thought about it a while https://www.google.com/search?hl=en&tok=eMAnrt2ijUCk1wMdSZGBbA&pq=recursion+function&cp=12&gs_id=f&xhr=t&q=recursion+stack&newwindow=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&biw=1120&bih=642&um=1&ie=UTF8&tbm=isch&source=og&sa=N&tab=wi&ei=oscAUKSqN7O02AWdq8WKCw#um=1&hl=en&newwindow=1&tbm=isch&sa=1&q=recursion&oq=recursion&gs_l=img.12..0l10.2232.2232.0.6724.1.1.0.0.0.0.166.166.0j1.1.0...0.0...1c.B5gOJwetQZc&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=4ab5a515e740ecc2&biw=1120&bih=642 there is even a pik in there of the infamous recursive fib

frankdpnw
 3 years ago
Best ResponseYou've already chosen the best response.0thanks, I finally understand it
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.