Sayı Tahmin Skoru
beginnerO(log n) optimal strateji, O(n) en kötü
Kullanıcının tahminleri ve gerçek sayı verildiğinde,
kaç tahminin tam doğru, kaç tahminin ±5 içinde, kaç tahminin uzak olduğunu döndür.
İpuçları
- 💡 İpucu 1: abs(guess - secret) ile farkın mutlak değerini al.
- 💡 İpucu 2: diff == 0 ise 'exact', diff <= 5 ise 'close', değilse 'far'.
- 💡 İpucu 3: Sonuçları sayacak bir dict oluştur ve döngüde güncelle.
Yaklaşım & Açıklama
Sayı tahmin oyunu, **oyun döngüsü** ve kullanıcı etkileşimi simülasyonudur.
**Problem:** Bilgisayar 1-100 arası sayı seçer, kullanıcı tahmin eder, "daha büyük/küçük" ipucu verir.
**Temel yapı:**
```python
import random
def number_guessing_game():
target = random.randint(1, 100)
attempts = 0
while True:
guess = int(input("Tahmininiz: "))
attempts += 1
if guess < target:
print("Daha büyük")
elif guess > target:
print("Daha küçük")
else:
print(f"Doğru! {attempts} denemede bildiniz")
break
```
**Genişletme:** Binary search stratejisi (her zaman ortancayı tahmin et) en iyi skoru verir — O(log n) denemede garantili çözüm.
**Gerçek dünya:** Kullanıcı deneyimi (UX), oyun geliştirme, A/B test varyantları.