Python equivalent to a C trick
afriere at yahoo.co.uk
Wed Aug 11 08:47:16 CEST 2004
Erik Max Francis <max at alcyone.com> wrote in message news:<41189FD5.7516D933 at alcyone.com>...
> Thomas Krüger wrote:
> > Logic_Test and True_Result or False_Result
> > Example:
> > print (num_eggs > 1) and 'eggs" or "egg"
> Be very careful that the "True_Result" in your formulation actually is
> itself a Python true value, or this won't work:
> print 'egg' + (numEggs == 1 and '' or 's')
> will not work as expected.
For which reason the form (test and [true_result] or
[false_result]) is sometimes advocated. This starts to look a
little too cluttered for my liking, so I tend to use it only when the
'true_result' is a variable and might be instantiated to a negative
More information about the Python-list