do you fail at FizzBuzz? simple prog test

John Machin sjmachin at lexicon.net
Sun May 11 01:04:05 EDT 2008


On May 11, 1:24 pm, Mensanator <mensana... at aol.com> wrote:
> On May 10, 8:12�pm, globalrev <skanem... at yahoo.se> 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?
>
> Define better.
>
> >>> f = ['','','Fizz']*100
> >>> b = ['','','','','Buzz']*100
> >>> for i in xrange(1,100):
>
>         fb = f[i-1]+b[i-1]
>         if fb=='':
>                 print i
>         else:
>                 print fb

You seem to have an unfortunate fixation on 100. Consider changing the
above instances to 34, 20, and 101.



More information about the Python-list mailing list