La funzione 'fizz_buzz' accetta un numero n come input e stampa tutti i numeri da 1 a n, ma quando un numero è un multiplo di 3, stampa &quot;Fizz&quot;; quando il numero è multiplo di 5 stampa &quot;Buzz&quot;; quando il numero è sia un multiplo di 3 che di 5, stampa &quot;FizzBuzz&quot;. L'output di questo codice sarebbe una sequenza di numeri da 1 a n con la sostituzione secondo i criteri sopra descritti. Ad esempio, se n = 15, l'output sarebbe 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz.
def fizz_buzz(n):
    for i in range(1, n+1):
        if i % 3 == 0 and i % 5 == 0:
            print("FizzBuzz")
        elif i % 3 == 0:
            print("Fizz")
        elif i % 5 == 0:
            print("Buzz")
        else:
            print(i)
Descrivi la funzione e l'output del seguente codice: