[Solved] Challenge Question from Etabeta1: test()()()()
"How many times will this code output "x"? def test(): print("x") return test test()()()()" I am having a hard time understanding the syntax of this recursive function at the function calling part. So it calls the function 4 times because what it returns is the function without the parantheses? Why doesn't the interpreter interpret the content of the outermost pair of parantheses as argument and then throw an argument exception or something because the function definition has no parameter asking to be passed an argument? And does the interpreter interpret stuff from left to right and not in blocks or smallest unit of inseparable entities? Lol, sorry for babbling, I just don't know how to ask this. I stared at this for a while, like a chimp who's just witnessed thunderbolt the first time or something. Scratching my head.