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 -- http://mail.python.org/mailman/listinfo/python-list