Hi Group, I just went through this article http://docs.python-guide.org/en/latest/writing/gotchas/
written a Fibonacci program like this def fibonacci(next=[1], prev=[0]): data = prev.pop() prev.append(next.pop()) next.append(prev[0] + data) return data for i in range(10): print fibonacci() It actually works, it prints first 10 fibonacci numbers My question is the following code doesn't work the same way as i expected it to work. def fibonacci(next=1, prev=0): data = prev prev = next next = data + next return data for i in range(10): print fibonacci() Instead of printing Fibonacci, it just prints 10 zeros means.. does python only remembers the list in default argument? -- [image: --] Rajiv Subramanian M [image: http://]about.me/rajiv.m1991 <http://about.me/rajiv.m1991?promo=email_sig> _______________________________________________ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers