python not returning true

John Machin sjmachin at lexicon.net
Wed Feb 14 02:15:51 EST 2007


On Feb 14, 5:45 pm, "agent-s" <shanek... at gmail.com> wrote:
> On Feb 13, 9:37 pm, "John Machin" <sjmac... at lexicon.net> wrote:
>
>
>
> > On Feb 14, 4:15 pm, "agent-s" <shanek... at gmail.com> 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
>
> Thanks! That was exactly what it was. I solved it by using "return
> function(args+1)" instead of simply "function(args+1)."

That takes care of only 1 of the two cases of returning None instead
of True/False.

>
> btw Steven you are so witty I hope to one day pwn noobs on newsgroups
> too.

Wit has nothing to do with it. The fact that you are a Python noob is
also irrelevant. Your problem statement was unintelligible, as is your
response. What does "pwn" mean?




More information about the Python-list mailing list