## LT_Forest one year ago 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

1. ronin12

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

2. LT_Forest

what should I have instead of s=''?

3. ronin12

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

4. LT_Forest

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.

5. LT_Forest

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

6. ronin12

glad to see you got it worked out :D