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”.
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:
- 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:
# 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; }
👇 Da non perdere 👇
- 📈 Analizza Cellulari 📱
- 🔐 AI che dolor, Chat 🏴
- 🎯 Targetizza Database SQL 🗄
- 📊 Analizza Errori più comuni 📛
- 🚧 Costruisci Evergreen 📟
- 👩💻 Programma Gratis 🎉
- 💻 Configura Hosting a confronto 💑
- 🔒 Conosci Hosting reti e domini 💻
- 👩💻 Tapioca Informatica 🖥
- 💻 Iconizza Internet 💻
- 🔒 Gestisci Lavoro 🔧
- 💡 Mostra Marketing & SEO 🌪
- 🔑 Apprendi Meteo ⛅
- 🤯 Visiona Mondo Apple 🍎
- 🔍 Supervisiona Mondo Domini 🌐
- 🚀 Metti in cloud monitoraggio servizi online 📈
- 🔮 Anatomizza Nuove tecnologie 🖥
- 🔒 Antani PEC e firma digitale 📩
- 👀 Prematura Programmare 🖥
- 🎮 Lonfa Scrivere 🖋
- 🔒 Conosci Servizi di SMS 📶
- 👀 Guarda Sicurezza informatica e privacy digitale 🖥
- 🎮 Ricorda Siti web 🌎
- 🤖 Ottimizza Spiegoni artificiali 🎓
- 🧠 Neuralizza Svago 🎈
- 📡 Quantizza Usare Excel 🌀
- 🤖 Sovrascrivi Windows 😲
- 🎨 Personalizza Wireless 🚁
- 🔑 Decifra WordPress 🤵
- 💬 Il nostro canale Telegram: iscriviti
- 🔵 Guida pratica all’usabilità (e alla UX)
- 🟠 Che significa identità digitale?
- 🟠 Come attivare i rich snippets in WordPress