3 ms·
My shortest Python solution is 59 characters. Two tricks, use while instead of range, and use string repetition instead of lists n=1 while n<101:print'Fizz
by twiceaday 14y ago
My shortest Python solution is 59 characters. Two tricks, use while instead of range, and use string repetition instead of lists
n=1
while n<101:print'Fizz'*(n%3<1)+'Buzz'*(n%5<1)or n;n+=1
And here is a wacky one in 96 chars
w=range(101)
w[::3]=['Fizz']*34
w[::5]=['Buzz']*21
w[::15]=['FizzBuzz']*7
for s in w[1:]:print s
- ajennings 14y agoYou can save one more character with an exec loop n=1;exec"print'Fizz'*(n%3<1)+'Buzz'*(n%5<1)or n;n+=1;"*100