1'den n'e kadar say.
3'e bölünüyorsa 'Fizz🎉', 5'e bölünüyorsa 'Buzz🚀',
her ikisine de bölünüyorsa 'FizzBuzz🎊' yaz.
Diğer sayıları string olarak ekle.
İpuçları
💡 İpucu 1: Önce hem 3 hem 5'e bölünme durumunu kontrol et (FizzBuzz🎊). Sıra önemli!
💡 İpucu 2: Bölünebilirlik için % (modulo) operatörünü kullan: i % 3 == 0
💡 İpucu 3: Hiçbir koşula uymuyorsa sayıyı string'e çevir: str(i)
Yaklaşım & Açıklama
FizzBuzz, mülakatlarda **template** soru olarak kullanılır. Şirketler adayın temel kontrol yapılarını anlayıp anlamadığını test eder.
**Problem:** 1'den n'e kadar:
- 3'e bölünürse "Fizz"
- 5'e bölünürse "Buzz"
- İkisine de bölünürse "FizzBuzz"
**Kritik detay — sıra:**
```python
# YANLIŞ sıra
for i in range(1, n+1):
if i % 3 == 0: print("Fizz") # 15 buraya düşer, "FizzBuzz" kaçar
elif i % 5 == 0: print("Buzz")
elif i % 15 == 0: print("FizzBuzz") # hiç gelmez
# DOĞRU sıra
for i in range(1, n+1):
if i % 15 == 0: print("FizzBuzz")
elif i % 3 == 0: print("Fizz")
elif i % 5 == 0: print("Buzz")
else: print(i)
```
**Tek satır çözüm:**
```python
result = ["FizzBuzz" if i % 15 == 0 else "Fizz" if i % 3 == 0 else "Buzz" if i % 5 == 0 else i for i in range(1, n+1)]
```
**Neden bu soru önemli:** Junior/staj pozisyonlarında adayın modulo, if/elif mantığı ve döngü bilgisi ölçülür. Çözemeyen genelde diğer sorularda da zorlanır.