fizzbuzz.md
Python script, ASCII text executable, with very long lines (570)
title: The FizzBuzz Program date: 2022 Feb 20 updated: 2024 Feb 2 --- A FizzBuzz Program is a program used in many job interviews to see if a programmer is good at problem solving. There are many ways to make one.
First let me tell you why I write these programs. These programs, at least in my opinion, are good when you're learning a new programming language. It gives you a problem to solve, and all you need to do to solve it. Incase you're wondering, the problem is to make a program that counts from 1 to 100 and replaces all multiples of 3 with Fizz, all multiples of 5 with Buzz, and multiples of both with FizzBuzz. Generally in interviews, they also ask you to add on more multiples, such as multiples of 7 are replaced with Fuzz, and multiples of 11 are replaced with Bizz.
Now that I've told you what a FizzBuzz Program is, let me show you how I make them in Python.
for Index in range(1, 100): Response = "" print(Response)
The first thing I do is I create a for loop, and within it I put a print statement and a variable named toPrint.
def FizzCompute(Number, Divisor, String): return String if Number % Divisor == 0 else "" def SubstituteEmpty(String, Number): return String if String != "" else Number for Index in range(1, 100): Response = SubstituteEmpty(FizzCompute(Index, 3, "Fizz") + FizzCompute(Index, 5, "Buzz"), Index) print(Response)
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz
The next thing I do is I define a function that checks if one number is a multiple of another, and if it is, then it returns the string, otherwise, it returns an empty string.
Then I make a function that checks if a string is an empty one, if it is, then it returns a number.
Once I have these 2 functions, I go back into the for loop and make the Response
variable have the variable for checking if a string is empty(and if it is replace it with a number) check if 2 of the other function that check if one number is a multiple of another(and if it is, return a string). Finally, it prints the output.
I've tried this method many times. Below are some examples of this method in action!
1--- 2title: The FizzBuzz Program 3date: 2022 Feb 20 4updated: 2024 Feb 2 5--- 6A FizzBuzz Program is a program used in many job interviews to see if a programmer is good at problem solving. There are many ways to make one. 7 8First let me tell you why I write these programs. These programs, at least in my opinion, are good when you're learning a new programming language. It gives you a problem to solve, and all you need to do to solve it. Incase you're wondering, the problem is to make a program that counts from 1 to 100 and replaces all multiples of 3 with Fizz, all multiples of 5 with Buzz, and multiples of both with FizzBuzz. Generally in interviews, they also ask you to add on more multiples, such as multiples of 7 are replaced with Fuzz, and multiples of 11 are replaced with Bizz. 9 10Now that I've told you what a FizzBuzz Program is, let me show you how I make them in Python. 11 12```python 13for Index in range(1, 100): 14Response = "" 15print(Response) 16``` 17 18The first thing I do is I create a for loop, and within it I put a print statement and a variable named toPrint. 19 20```python 21def FizzCompute(Number, Divisor, String): 22return String if Number % Divisor == 0 else "" 23 24def SubstituteEmpty(String, Number): 25return String if String != "" else Number 26 27for Index in range(1, 100): 28Response = SubstituteEmpty(FizzCompute(Index, 3, "Fizz") + FizzCompute(Index, 5, "Buzz"), Index) 29print(Response) 30``` 31<details> 32<summary>Output</summary> 33``` 341 352 36Fizz 374 38Buzz 39Fizz 407 418 42Fizz 43Buzz 4411 45Fizz 4613 4714 48FizzBuzz 4916 5017 51Fizz 5219 53Buzz 54Fizz 5522 5623 57Fizz 58Buzz 5926 60Fizz 6128 6229 63FizzBuzz 6431 6532 66Fizz 6734 68Buzz 69Fizz 7037 7138 72Fizz 73Buzz 7441 75Fizz 7643 7744 78FizzBuzz 7946 8047 81Fizz 8249 83Buzz 84Fizz 8552 8653 87Fizz 88Buzz 8956 90Fizz 9158 9259 93FizzBuzz 9461 9562 96Fizz 9764 98Buzz 99Fizz 10067 10168 102Fizz 103Buzz 10471 105Fizz 10673 10774 108FizzBuzz 10976 11077 111Fizz 11279 113Buzz 114Fizz 11582 11683 117Fizz 118Buzz 11986 120Fizz 12188 12289 123FizzBuzz 12491 12592 126Fizz 12794 128Buzz 129Fizz 13097 13198 132Fizz 133``` 134</details> 135 136The next thing I do is I define a function that checks if one number is a multiple of another, and if it is, then it returns the string, otherwise, it returns an empty string. 137 138Then I make a function that checks if a string is an empty one, if it is, then it returns a number. 139 140Once I have these 2 functions, I go back into the for loop and make the `Response` variable have the variable for checking if a string is empty(and if it is replace it with a number) check if 2 of the other function that check if one number is a multiple of another(and if it is, return a string). Finally, it prints the output. 141 142I've tried this method many times. Below are some examples of this method in action! 143 144* [Kotlin](https://replit.com/@StevesGreatness/FizzBuzzKotlin) 145* [Lua](https://replit.com/@StevesGreatness/FizzBuzzlua) 146* [Python](https://replit.com/@StevesGreatness/FizzBuzzpython) 147* [Ruby](https://replit.com/@StevesGreatness/FizzBuzzRuby)