Skip to content

Instantly share code, notes, and snippets.

@natw
Created November 15, 2012 16:22
  • Star 27 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save natw/4079502 to your computer and use it in GitHub Desktop.
best fizzbuzz
import random
for i in range(0, 100):
if not i % 15:
random.seed(1178741599)
print [i+1, "Fizz", "Buzz", "FizzBuzz"][random.randint(0,3)]
@ChuntaoLu
Copy link

Interesting code. How do you find the right seed 1178741599?

@pyrtsa
Copy link

pyrtsa commented Apr 10, 2014

Brute force?

def f(i):
    random.seed(i)
    return [random.randint(0, 3) for _ in range(15)]

xs = [1, 0, 0, 3, 3, 1, 3, 2, 0, 2, 1, 0, 3, 3, 0]
next(i for i in itertools.count() if f(i) == xs) # runs for a long time

# PS. To save the wait, try e.g.:
# next(i for i in itertools.count(1178700000) if f(i) == xs)

@wasuaje
Copy link

wasuaje commented Apr 16, 2015

Vintage style, hahahha 😄

 for i in range(1,11):
    if i % 3 == 0:
        print "fizz"
    elif i % 5 == 0:
        print  "buzz"
    elif i % 3 == 0 and i % 5 == 0:
        print "fizz buzz"
    else
       print i

@fisadev
Copy link

fisadev commented Apr 20, 2015

That last one doesn't work. For numbers which are both divisible by 3 and 5, it prints only "fizz", not "fizz buzz" as it should.

@jjconti
Copy link

jjconti commented Apr 21, 2015

And there is a missing ':' after the 'else' keyword.

@parkeristyping
Copy link

import requests
print requests.get("https://s3.amazonaws.com/fizzbuzz/output").content

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment