Ask your own question, for FREE!
MIT 6.00 Intro Computer Science (OCW) 7 Online
OpenStudy (anonymous):

For the FizzBuzz program, I got only fizz and buzz and fizzbuzz for the output, but no numbers...What did I do wrong? I cant seem to figure out the issue here. Here is my code: for i in range(1,101): s = str(i) if i % 3==0 or i % 5==0: s='' if i % 3==0: s=s+'FIZZ' if i % 5==0: s = s+'BUZZ' print s

OpenStudy (anonymous):

when you enter your first if loop you are resetting the value of s to just be a blank line which effectively is dropping out your number from the beginning of the line

OpenStudy (anonymous):

what should I have instead of s=''?

OpenStudy (anonymous):

when your code hits s=str(i) the first time it sets s='1'. then you enter your if loop and have s='' which changes s='1' to s='' what your doing is called reinitializing a variable which is causing your original s to forget the '1'. btw the only reason im not outright telling you the fix is because problem solving/debugging is one of the most important skills for programming

OpenStudy (anonymous):

thanks I appreciate it...Id rather learn the process that just be told the answer any day. Let me tinker with this a little longer.

OpenStudy (anonymous):

so here is what I went with and it worked like a charm. Thanks again for your help: for i in range (1, 101): if i % 3 == 0 and i % 5 == 0: print 'FIZZBUZZ' elif i % 3 == 0: print 'FIZZ' elif i % 5 == 0: print 'BUZZ' else: print i

OpenStudy (anonymous):

glad to see you got it worked out :D

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!