On Sun, Nov 8, 2009 at 8:38 AM, Dave Angel <da...@ieee.org> wrote: > > You have the following line at top-level: > > if ask.lower not in reply: > > But you're not calling the method str.lower(), you're just creating a > function object from it. You need those parentheses. > > if ask.lower() not in reply: > > > You have the following fragment in main(): > > print(intro) > choose_Cave() > ans = choose_Cave # use: pass function by reference > checkCave(ans) > > > which has two references to choose_Cave(). The first one calls it, but > throws away the return value. The second does not call it at all, but > merely creates a function object and stores it in ans. You need to combine > your two intents in one line: > > print(intro) > ans = choose_Cave() # use: pass function by reference > checkCave(ans) > > Hope that helps. Remember, that unlike Pascal, in Python you don't call the > function unless you include the parentheses.
Hi Dave and all, My eyes failed me spotting the bugs :-) They are just staring at me yet i miss to catch them. I guess thats the net result when one take it too seriously haha (joke). I fully agree function is not called when the parenthesis is missing, you only call the object. About Pascal or VB i cant comment on them :-) The code works as expected now. I guess i have to move on to the other examples. Will be back here to bug you guys with questions :-) Thank you for so helpful. -- Best Regards Jonathan Swift - "May you live every day of your life." - http://www.brainyquote.com/quotes/authors/j/jonathan_swift.html -- Best Regards, bibimidi
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor