CMU Coding Bootcamp
1def fizzBuzz(n: int) -> str | int:
2 """Return the fizzbuzz string for n."""
3 str = ""
4 if n % 3 == 0:
5 str += "fizz"
6 if n % 5 == 0:
7 b = ""
8 if len(str):
9 b = "B"
10 else:
11 b = "b"
12 str += f"{b}uzz"
13 return str or n
14
15
16print("Testing fizzBuzz()...", end="")
17assert fizzBuzz(21) == "fizz"
18assert fizzBuzz(25) == "buzz"
19assert fizzBuzz(30) == "fizzBuzz"
20assert fizzBuzz(31) == 31
21
22# should work for negatives:
23assert fizzBuzz(-240) == "fizzBuzz"
24assert fizzBuzz(-245) == "buzz"
25assert fizzBuzz(-246) == "fizz"
26assert fizzBuzz(-247) == -247
27
28# and 0 (which is a multiple of 3 and a multiple of 5):
29assert fizzBuzz(0) == "fizzBuzz"
30print("Passed!")