It’s a classic programming problem and a very beginner type of problem. Here is the link to the problem. See the explanation in LeetCode first. And try to understand the problem.

First, we will be given a number **n** as input. We have to store each number from 1 to **n** in an array as a string. But remember three things before the store.

- If a number is divisible by 3, we will store
**Fizz**instead of that number. - If a number is divisible by 5, we will store
**Buzz**instead of that number. - If a number is divisible by both 3 and 5, we will store
**FizzBuzz**instead of that number.

In our coding part, first, we will create an empty **list** (a list is equivalent to an array). Then we will iterate through the number from 1 to **n**. In our loop body, first, we will check the current number is divisible by 3 and 5 or not. If the condition is **true**, we will append **Fizzbuzz** in our list instead of the current number.

If the first condition is **false**, we will go to the second condition and so on. The code of those conditions is self-explanatory.

If every condition is false, we will append the number in string format.

Let’s see the full code below.

class Solution: def fizzBuzz(self, n: int) -> List[str]: res = [] for i in range(1, n+1): if i % 3 == 0 and i % 5 == 0: res.append('FizzBuzz') elif i % 3 == 0: res.append('Fizz') elif i % 5 == 0: res.append('Buzz') else: res.append(str(i)) return res

If you submit the code in LeetCode, it will be accepted.