Skip to content

Instantly share code, notes, and snippets.

@dckc
Last active December 18, 2019 12:01
Show Gist options
  • Save dckc/d58a04b154d44d46de9abcda84b2a2f0 to your computer and use it in GitHub Desktop.
Save dckc/d58a04b154d44d46de9abcda84b2a2f0 to your computer and use it in GitHub Desktop.

Revisions

  1. dckc revised this gist Jul 22, 2019. 1 changed file with 25 additions and 0 deletions.
    25 changes: 25 additions & 0 deletions fizzbuzz.py
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,28 @@
    """Simple fizzbuzz generator.
    The game proceeds with players announcing numbers increasing
    sequentially, except for multiples of 3 and 5:
    >>> usage = 'fizzbuzz 1 20'
    >>> from io import StringIO; stdout = StringIO()
    >>> main(usage.split(), stdout)
    >>> print(stdout.getvalue())
    ... #doctest: +ELLIPSIS
    1
    2
    fizz
    4
    buzz
    fizz
    7
    ...
    14
    fizzbuzz
    16
    ...
    """


    def main(argv, stdout):
  2. dckc revised this gist Jul 22, 2019. 1 changed file with 13 additions and 4 deletions.
    17 changes: 13 additions & 4 deletions fizzbuzz.py
    Original file line number Diff line number Diff line change
    @@ -4,15 +4,24 @@ def main(argv, stdout):
    [lo_, hi_] = argv[1:3]
    lo, hi = int(lo_), int(hi_)

    for word in fizzbuzz(lo, hi):
    print(word, file=stdout)


    def fizzbuzz(lo, hi):
    """
    >>> list(fizzbuzz(1, 6))
    [1, 2, 'fizz', 4, 'buzz']
    """
    for n in range(lo, hi):
    if n % 3 == 0 and n % 5 == 0:
    print("fizzbuzz", file=stdout)
    yield "fizzbuzz"
    elif n % 3 == 0:
    print("fizz", file=stdout)
    yield "fizz"
    elif n % 5 == 0:
    print("buzz", file=stdout)
    yield "buzz"
    else:
    print(n, file=stdout)
    yield n


    if __name__ == '__main__':
  3. dckc revised this gist Jul 22, 2019. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion fizzbuzz.py
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,10 @@


    def main(argv, stdout):
    for n in range(int(argv[1]), int(argv[2])):
    [lo_, hi_] = argv[1:3]
    lo, hi = int(lo_), int(hi_)

    for n in range(lo, hi):
    if n % 3 == 0 and n % 5 == 0:
    print("fizzbuzz", file=stdout)
    elif n % 3 == 0:
  4. dckc revised this gist Jul 22, 2019. 1 changed file with 12 additions and 8 deletions.
    20 changes: 12 additions & 8 deletions fizzbuzz.py
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,21 @@
    import sys


    def main():
    for n in range(int(sys.argv[1]), int(sys.argv[2])):
    def main(argv, stdout):
    for n in range(int(argv[1]), int(argv[2])):
    if n % 3 == 0 and n % 5 == 0:
    print("fizzbuzz")
    print("fizzbuzz", file=stdout)
    elif n % 3 == 0:
    print("fizz")
    print("fizz", file=stdout)
    elif n % 5 == 0:
    print("buzz")
    print("buzz", file=stdout)
    else:
    print(n)
    print(n, file=stdout)


    if __name__ == '__main__':
    main()
    def _script_io():
    from sys import argv, stdout

    main(argv, stdout)

    _script_io()
  5. dckc revised this gist Jul 22, 2019. 1 changed file with 16 additions and 9 deletions.
    25 changes: 16 additions & 9 deletions fizzbuzz.py
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,17 @@
    import sys
    for n in range(int(sys.argv[1]), int(sys.argv[2])):
    if n % 3 == 0 and n % 5 == 0:
    print("fizzbuzz")
    elif n % 3 == 0:
    print("fizz")
    elif n % 5 == 0:
    print("buzz")
    else:
    print(n)


    def main():
    for n in range(int(sys.argv[1]), int(sys.argv[2])):
    if n % 3 == 0 and n % 5 == 0:
    print("fizzbuzz")
    elif n % 3 == 0:
    print("fizz")
    elif n % 5 == 0:
    print("buzz")
    else:
    print(n)


    if __name__ == '__main__':
    main()
  6. dckc created this gist Jul 22, 2019.
    10 changes: 10 additions & 0 deletions fizzbuzz.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    import sys
    for n in range(int(sys.argv[1]), int(sys.argv[2])):
    if n % 3 == 0 and n % 5 == 0:
    print("fizzbuzz")
    elif n % 3 == 0:
    print("fizz")
    elif n % 5 == 0:
    print("buzz")
    else:
    print(n)