fizzbuzz complete (#6504)

* fizzbuzz

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* added doctests and function to fizzbuzz

* Update fizz_buzz.py

* Update fizz_buzz.py

* Fixed FizzBuzz

* fizzbuzz passing test

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>

* Update fizz_buzz.py

* Update fizz_buzz.py

* Update fizz_buzz.py

* fixed fizzbuzz

* Add files via upload

* added mechanical energy calculation

* Delete mechanical_energy.py

* Update fizz_buzz.py

* Update dynamic_programming/fizz_buzz.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update fizz_buzz.py

Co-authored-by: Caeden <caedenperelliharris@gmail.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
lostybtw 2022-10-30 07:22:52 +00:00 committed by GitHub
parent 0c5f1c0130
commit f87de60b6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,65 @@
# https://en.wikipedia.org/wiki/Fizz_buzz#Programming
def fizz_buzz(number: int, iterations: int) -> str:
"""
Plays FizzBuzz.
Prints Fizz if number is a multiple of 3.
Prints Buzz if its a multiple of 5.
Prints FizzBuzz if its a multiple of both 3 and 5 or 15.
Else Prints The Number Itself.
>>> fizz_buzz(1,7)
'1 2 Fizz 4 Buzz Fizz 7 '
>>> fizz_buzz(1,0)
Traceback (most recent call last):
...
ValueError: Iterations must be done more than 0 times to play FizzBuzz
>>> fizz_buzz(-5,5)
Traceback (most recent call last):
...
ValueError: starting number must be
and integer and be more than 0
>>> fizz_buzz(10,-5)
Traceback (most recent call last):
...
ValueError: Iterations must be done more than 0 times to play FizzBuzz
>>> fizz_buzz(1.5,5)
Traceback (most recent call last):
...
ValueError: starting number must be
and integer and be more than 0
>>> fizz_buzz(1,5.5)
Traceback (most recent call last):
...
ValueError: iterations must be defined as integers
"""
if not type(iterations) == int:
raise ValueError("iterations must be defined as integers")
if not type(number) == int or not number >= 1:
raise ValueError(
"""starting number must be
and integer and be more than 0"""
)
if not iterations >= 1:
raise ValueError("Iterations must be done more than 0 times to play FizzBuzz")
out = ""
while number <= iterations:
if number % 3 == 0:
out += "Fizz"
if number % 5 == 0:
out += "Buzz"
if not number % 3 == 0 and not number % 5 == 0:
out += str(number)
# print(out)
number += 1
out += " "
return out
if __name__ == "__main__":
import doctest
doctest.testmod()