input: from typing import List
  
  
  def fizz_buzz_printer() -> List[str]:
      """ Prints the numbers from 1 to 50, but for multiples of 3 prints "Fizz" instead of the number,
      for multiples of 5 prints "Buzz" instead of the number, and for multiples of both 3 and 5 prints "FizzBuzz".
      Returns a list of the printed outputs.
  
      >>> fizz_buzz_printer()
      [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(i)
      return result