do you fail at FizzBuzz? simple prog test

Duncan Booth duncan.booth at invalid.invalid
Mon May 12 08:04:41 EDT 2008


Ivan Illarionov <ivan.illarionov at gmail.com> wrote:

>>> is there a better way than my solution? is mine ok?
>> 
>> ['%s%s' % (not i%3 and 'Fizz' or '', not i%5 and 'Buzz' or '')
>>  or str(i) for i in xrange(1, 101)]
>> 
>> -- Ivan
> 
> or, more correctly, if you actually need to "print":
> 
> sys.stdout.write('\n'.join('%s%s' % 
>     (not i%3 and 'Fizz' or '', not i%5 aBuzz' or '') 
>     or str(i) 
>     for i in xrange(1, 101)))

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 information about the Python-list mailing list