On Feb 14, 4:15 pm, "agent-s" <[EMAIL PROTECTED]> wrote: > I have a function, generally described as so: >
> def function(args): > if condition: > if condition2: > function(args+1) return None > elif condition3: > print "text" > return True > else: > return False else: return None There are two cases, indicated above, where you don't explicitly do a "return", so you fall off the end of the function, and Python returns None. Then when the function's caller tests the returned value, None is treated as logically false. > which is used in: > > if function(args): > print "ok" > > so here basically "text" will print out when condition3 is true but it > will not print out "ok" when condition3 is true. When it's true it > should print out borth "text" and "ok" In the second last sentence, it is difficult to determine what you think is expected behaviour and what you say is the actual behaviour. In the last sentence, what does the first "it" refer to? If the knowledge about returning None doesn't help you, try some standard(??) techniques like inserting print statements or debugger break-points. HTH, John -- http://mail.python.org/mailman/listinfo/python-list