codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#! /usr/bin/env python3 # fizzbuzz.py def divisor_response(divisor, response): # say fizz if the number is divisible by 3 return lambda n: "" if n % divisor != 0 else response def arbitrary_divisor_responses(d_responses): # combine fizzbuzz responses in a specific order # or say the number if none of them apply return lambda n: "".join( [divisor_response(*s)(n) for s in d_responses] ) or str(n) def fizzbuzz(n): # actual fizzbuzz return arbitrary_divisor_responses([ (3, "fizz"), (5, "buzz")])(n) def fb_start_end(start, end): # fizzbuzz within a range return "\n".join([ fizzbuzz(n) for n in range(start, end+1)]) if __name__ == "__main__": print(fb_start_end(1, 100))
Private
[
?
]
Run code
Submit