Al momento stai visualizzando Guida pratica al Fizz Buzz, il problema che ti fa capire se sai programmare

Guida pratica al Fizz Buzz, il problema che ti fa capire se sai programmare

  • Autore dell'articolo:
  • Categoria dell'articolo:Guide

FizzBuzz è un popolare gioco matematico spesso usato come esercizio per insegnare ai bambini i concetti di divisione e multipli. Questo gioco può essere utilizzato sia come strumento didattico per insegnare i concetti di divisione ai bambini, sia come esercizio di programmazione per valutare le abilità di programmazione di base.

L’obiettivo è generare una sequenza di numeri da 1 a N, sostituendo determinati numeri con parole specifiche in base a determinate regole. Per ogni numero nella sequenza, si applicano le seguenti regole:

  • Se il numero è divisibile sia per 3 che per 5, anziché stampare il numero, si stampa “FizzBuzz“.
  • Se il numero è solo divisibile per 3, si stampa “Fizz”.
  • Se il numero è solo divisibile per 5, si stampa “Buzz”.
  • Se il numero non è divisibile né per 3 né per 5, si stampa semplicemente il numero stesso.

L’obiettivo è creare una sequenza di numeri in cui i multipli di 3 vengono sostituiti da “Fizz”, i multipli di 5 vengono sostituiti da “Buzz”, e i multipli di entrambi 3 e 5 vengono sostituiti da “FizzBuzz”.

Pubblicità - Continua a leggere sotto :-)

(Tophost) l' hosting web più economico - Usa il coupon sconto: 7NSS5HAGD5UC2

Fizz Buzz in Python

Procedendo per gradi, un programmatore principiante potrebbe essere tentato dallo scrivere qualcosa del genere, considerando che i casi in gioco sono soltanto tre per cui servono tre condizioni per tutti i numeri che vanno da 1 ad N:


def fizzbuzz(n):
    # Iniziamo un ciclo che va da 1 fino a n (incluso)
    for i in range(1, n+1):
        # Se i è divisibile per 3, stampiamo "Fizz"
        if i % 3 == 0:
            print("Fizz")
        # Altrimenti, se i è divisibile per 5, stampiamo "Buzz"
        elif i % 5 == 0:
            print("Buzz")
        # Altrimenti, se non è divisibile né per 3 né per 5, stampiamo "FizzBuzz"
        else:
            print("FizzBuzz")

# Assegniamo un valore di esempio a n e chiamiamo la funzione fizzbuzz con questo valore
n = 10
fizzbuzz(n)

A leggerla così potrebbe sembrare corretto, ma basta lanciare il programma per rendersi conto che non tira fuori quello che servirebbe. La sequenza risultante infatti è solo parzialmente corretta:

FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz

Non abbiamo considerato un caso importante, in questo caso, che consiste in quello in cui viene stampato il numero direttamente.

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Per fare questo, ci rendiamo conto che i casi da considerare sono in realtà 4:

Pubblicità - Continua a leggere sotto :-)
  • Se un numero è divisibile solo per 3, viene sostituito con “Fizz”.
  • Se un numero è divisibile solo per 5, viene sostituito con “Buzz”.
  • Se un numero è divisibile sia per 3 che per 5, viene sostituito con “FizzBuzz”.
  • Se un numero non è divisibile né per 3 né per 5, rimane invariato e viene semplicemente stampato.

Chiarito questo, scriviamo:

Pubblicità - Continua a leggere sotto :-)
Sei un webmaster? Prova TheMoneytizer per il tuo sito
# Definiamo una funzione chiamata fizzbuzz che prende un parametro n
def fizzbuzz(n):
    # Iniziamo un ciclo che va da 1 fino a n (incluso)
    for i in range(1, n+1):
        # Se i è divisibile per 3, stampiamo "Fizz"
        if i % 3 == 0:
            print("Fizz")
        # Altrimenti, se i è divisibile per 5, stampiamo "Buzz"
        elif i % 5 == 0:
            print("Buzz")
        # Altrimenti, se non è divisibile né per 3 né per 5, stampiamo "FizzBuzz"
        else:
            print("FizzBuzz")

# Assegniamo un valore di esempio a n e chiamiamo la funzione fizzbuzz con questo valore
n = 10
fizzbuzz(n)

Fizz Buzz in C++

#include <iostream>
using namespace std;

void fizzbuzz(int n) {
for (int i = 1; i <= n; ++i) {
if (i % 3 == 0 && i % 5 == 0) {
cout << "FizzBuzz" << endl;
} else if (i % 3 == 0) {
cout << "Fizz" << endl;
} else if (i % 5 == 0) {
cout << "Buzz" << endl;
} else {
cout << i << endl;
}
}
}

int main() {
int n = 20; // Puoi cambiare questo numero per visualizzare la sequenza fino a un limite diverso
fizzbuzz(n);
return 0;
}

👇 Contenuti da non perdere 👇



Questo portale web esiste da 4664 giorni (13 anni), e contiene ad oggi 4352 articoli (circa 3.481.600 parole in tutto) e 23 servizi online gratuiti. – Leggi un altro articolo a caso

Numero di visualizzazioni (dal 21 agosto 2024): 7
Pubblicità - Continua a leggere sotto :-)
Segui il canale ufficiale Telegram @trovalost https://t.me/trovalost
Seguici su Telegram: @trovalost

Trovalost.it

Ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti relativi all'informatica. Credits immagini: pexels.com, pixabay.com, wikipedia.org, Midjourney, StarryAI, se non diversamente specificato.