input: from typing import List
  
  
  def fizz_buzz() -> List[str]:
      """ Print the numbers from 1 to 50, but for multiples of 3 print "Fizz" instead of the number,
      for multiples of 5 print "Buzz" instead of the number and for multiples of both 3 and 5 print "FizzBuzz".
      >>> fizz_buzz()
      ['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']
      """
output:     result = []
      for i in range(1, 51):
          if i % 3 == 0 and i % 5 == 0:
              result.append("FizzBuzz")
          elif i % 3 == 0:
              result.append("Fizz")
          elif i % 5 == 0:
              result.append("Buzz")
          else:
              result.append(str(i))
      return result