do you fail at FizzBuzz? simple prog test

Ivan Illarionov ivan.illarionov at gmail.com
Sun May 11 00:26:10 EDT 2008


On Sat, 10 May 2008 18:12:37 -0700, globalrev wrote:

> http://reddit.com/r/programming/info/18td4/comments
> 
> claims people take a lot of time to write a simple program like this:
> 
> 
> "Write a program that prints the numbers from 1 to 100. But for
> multiples of three print "Fizz" instead of the number and for the
> multiples of five print "Buzz". For numbers which are multiples of both
> three and five print "FizzBuzz".
> 
> for i in range(1,101):
>     if i%3 == 0 and i%5 != 0:
>         print "Fizz"
>     elif i%5 == 0 and i%3 != 0:
>         print "Buzz"
>     elif i%5 == 0 and i%3 == 0:
>         print "FizzBuzz"
>     else:
>         print i
> 
> 
> 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



More information about the Python-list mailing list