Paul Hankin <[EMAIL PROTECTED]> writes: > On May 12, 1:59 pm, Arnaud Delobelle <[EMAIL PROTECTED]> wrote: >> On May 12, 1:30 pm, John Machin <[EMAIL PROTECTED]> wrote: >> >> > Duncan Booth wrote: >> [...] >> > > I think the variant I came up with is a bit clearer: >> >> > > for i in range(1,101): >> > > print '%s%s' % ('' if i%3 else 'Fizz', '' if i%5 else 'Buzz') or i >> >> > More than a bit clearer, IMO. How about >> > print ('' if i%3 else 'Fizz') + ('' if i%5 else 'Buzz') or i >> > (or perhaps >> > print (('' if i%3 else 'Fizz') + ('' if i%5 else 'Buzz')) or i >> > to save looking up the precedence rules) ? >> >> Stuff clarity! How about >> >> for i in xrange(1, 101): >> print 'FizzBuzz'[4*(i%3>0):4+4*(i%5<1)] or i > > for i in xrange(1, 101): > print 'Fizz'*(i%3<1)+'Buzz'*(i%5<1) or i
I like this, I can imagine plenty of use cases... ...in codegolf -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list