Skip to content

Instantly share code, notes, and snippets.

@bekaertruben
Last active May 22, 2021 11:50
Show Gist options
  • Save bekaertruben/6f79ac2eb43ca30ab99c915388b4969e to your computer and use it in GitHub Desktop.
Save bekaertruben/6f79ac2eb43ca30ab99c915388b4969e to your computer and use it in GitHub Desktop.
Yet another obfuscated one-line FizzBuzz

Yet another obfuscated one-line FizzBuzz

Here it be:

(lambda n: (b := __builtins__.__dict__, d := lambda c: str().join([b[[b for b in b.keys() if b[0]=='c'][1]](c) for c in c]), f := lambda f, *a, **k: (b[d(f)](*a, **k)), c := [115, 101, 112, 114, 105, 110, 116, 99, 104, 114, 97, 110, 103, 101, 70, 105, 122, 122, 117, 66])[2](c[2:7], *(lambda x, y: [x(y) for y in y])(lambda n: ((d(c[14:18])*(not n%-243%++3) + d(c[-1:15:-1])*(not n%-5)) or n), f(c[9:14], 1, n+1)), **{d(c[:3]): f(c[7:10], 10)}))(100)

Layed out to make a little more sense:

(lambda n: (
    b := __builtins__.__dict__,
    d := lambda c: str().join([b[[b for b in b.keys() if b[0]=='c'][1]](c) for c in c]), # decode string
    f := lambda f, *a, **k: (b[d(f)](*a, **k)), # run a builtin function
#         s    e    p    r    i    n    t    c   h    r    a   n    g    e    F   i    z    z    u    B
    c := [115, 101, 112, 114, 105, 110, 116, 99, 104, 114, 97, 110, 103, 101, 70, 105, 122, 122, 117, 66]
)[2](
    c[2:7], # print
    # *map(fizzbuzz, range(1, n+1))
    *(lambda x, y: [x(y) for y in y])(lambda n: ((d(c[14:18])*(not n%-243%++3) + d(c[-1:15:-1])*(not n%-5)) or n), f(c[9:14], 1, n+1)),
    **{d(c[:3]): f(c[7:10], 10)} # sep="\n"
))(100)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment