Python Mini Proje: Sayı Tahmin Oyunu

Python ile rastgele sayı üretimi kullanarak basit bir sayı tahmin oyunu yapmayı öğrenin.

Harika bir fikir! Python ile sayı tahmin oyunu yapmak hem eğlenceli hem de programlamaya giriş için güzel bir projedir. İşte adım adım nasıl yapacağın ve tam kod açıklaması: --- ## Python ile Sayı Tahmin Oyunu Yapımı Bu oyunun temel amacı, bilgisayarın rastgele belirlediği bir sayıyı, kullanıcının belirli denemelerle tahmin etmesidir. Bilgisayar her tahminden sonra ipucu verir ("daha yüksek" veya "daha düşük"). ### Oyunun Temel Adımları: 1. **`random` Modülünü İçe Aktarma:** Bilgisayarın rastgele bir sayı seçmesi için bu modüle ihtiyacımız var. 2. **Gizli Sayıyı Oluşturma:** Belirli bir aralıkta (örneğin 1 ile 100 arası) rastgele bir sayı belirle. 3. **Deneme Sayısını Takip Etme:** Kullanıcının kaç denemede bildiğini saymak için bir değişken. 4. **Oyun Döngüsü:** Kullanıcı doğru sayıyı tahmin edene kadar oyunun devam etmesini sağla. 5. **Kullanıcıdan Tahmin Alma:** Kullanıcının klavyeden bir sayı girmesini iste. 6. **Tahmini Kontrol Etme:** Kullanıcının tahmini gizli sayıdan küçük mü, büyük mü, yoksa eşit mi kontrol et. 7. **Geri Bildirim Verme:** Tahmin doğru değilse "daha yüksek" veya "daha düşük" diye ipucu ver. 8. **Döngüyü Sonlandırma:** Tahmin doğru olduğunda döngüyü kır ve oyunu bitir. 9. **Sonucu Gösterme:** Kullanıcının kaç denemede bildiğini söyle. ### Adım Adım Kod Açıklaması: Şimdi bu adımları koda dökelim. ```python # 1. 'random' modülünü içe aktarıyoruz import random def sayi_tahmin_oyunu(): print("Sayı Tahmin Oyununa Hoş Geldiniz!") print("1 ile 100 arasında bir sayı tuttum. Bakalım kaç denemede bulabileceksin?") # 2. Bilgisayar 1 ile 100 arasında rastgele bir sayı seçiyor gizli_sayi = random.randint(1, 100) # 3. Deneme sayısını tutmak için bir değişken başlatıyoruz deneme_sayisi = 0 # Oyun döngüsü: Kullanıcı doğru tahmin edene kadar devam edecek while True: try: # 5. Kullanıcıdan bir tahmin alıyoruz tahmin = int(input("Tahmininiz nedir? ")) # Deneme sayısını her tahmin için artırıyoruz deneme_sayisi += 1 # 6. Tahmini kontrol ediyoruz ve geri bildirim veriyoruz if tahmin < gizli_sayi: print("Daha yüksek bir sayı dene!") elif tahmin > gizli_sayi: print("Daha düşük bir sayı dene!") else: # 7. Tahmin doğruysa oyunu bitiriyoruz print(f"Tebrikler! {gizli_sayi} sayısını {deneme_sayisi} denemede buldun!") break # Döngüyü sonlandırır except ValueError: # Kullanıcı sayı yerine başka bir şey girerse hata yönetimi print("Geçersiz giriş! Lütfen sadece bir sayı girin.") except Exception as e: # Diğer olası hatalar için genel bir yakalama print(f"Bir hata oluştu: {e}") # Oyunu başlatmak için fonksiyonu çağırıyoruz sayi_tahmin_oyunu() ``` ### Tam Kod (Açıklamalarla Birlikte): ```python import random # Rastgele sayı üretmek için random modülünü içe aktarıyoruz def sayi_tahmin_oyunu(): """ Python ile basit bir sayı tahmin oyunu. Kullanıcının 1 ile 100 arasındaki gizli bir sayıyı tahmin etmesini sağlar. """ print("===================================") print(" Sayı Tahmin Oyununa Hoş Geldiniz! ") print("===================================") print("1 ile 100 arasında bir sayı tuttum.") print("Bakalım kaç denemede doğru tahmin edebileceksin?\n") # Bilgisayarın tuttuğu rastgele sayıyı belirliyoruz (1 dahil, 100 dahil) gizli_sayi = random.randint(1, 100) # Kullanıcının deneme sayısını tutmak için bir sayaç başlatıyoruz deneme_sayisi = 0 # Oyun döngüsü: Kullanıcı doğru tahmini yapana kadar devam eder while True: try: # Kullanıcıdan bir tahmin istiyoruz # input() fonksiyonu string döndürür, int() ile tam sayıya çeviriyoruz tahmin = int(input("Tahmininiz nedir? (Çıkmak için 'q' yazabilirsiniz): ")) # Eğer kullanıcı 'q' yazarsa çıkış yapma özelliği ekleyebiliriz (bu kısım sayıya çevrildiği için şu an için geçerli değil, # ama geliştirilebilir. Şimdilik sadece sayı girildiğini varsayalım) # Her geçerli tahmin için deneme sayacını bir artırıyoruz deneme_sayisi += 1 # Kullanıcının tahminini gizli sayı ile karşılaştırıyoruz if tahmin < gizli_sayi: print("Çok düşük! Daha yüksek bir sayı dene.\n") elif tahmin > gizli_sayi: print("Çok yüksek! Daha düşük bir sayı dene.\n") else: # Tahmin doğruysa kullanıcıyı tebrik ediyoruz ve oyunu bitiriyoruz print(f"\n***** Tebrikler! *****") print(f"{gizli_sayi} sayısını {deneme_sayisi} denemede buldun!") break # 'while True' döngüsünü sonlandırır except ValueError: # Kullanıcı sayı yerine metin girerse bu hata yakalanır print("Geçersiz giriş! Lütfen sadece bir sayı girin.") except KeyboardInterrupt: # Kullanıcı Ctrl+C ile oyunu keserse print("\nOyundan çıktınız. Tekrar bekleriz!") break except Exception as e: # Diğer beklenmedik hatalar için genel bir yakalama print(f"Beklenmedik bir hata oluştu: {e}") break # Oyun fonksiyonunu çağırarak oyunu başlatıyoruz if __name__ == "__main__": # Bu kontrol, dosya doğrudan çalıştırıldığında fonksiyonun çağrılmasını sağlar. # Eğer bu dosya başka bir yerden import edilirse otomatik çalışmaz. sayi_tahmin_oyunu() ``` ### Nasıl Çalıştırılır? 1. Yukarıdaki kodu bir metin düzenleyiciye (örneğin Notepad++, VS Code, Sublime Text) yapıştırın. 2. Dosyayı `sayi_tahmin_oyunu.py` gibi bir isimle kaydedin. (Uzantının `.py` olduğundan emin olun.) 3. Bir komut istemcisi (CMD veya Terminal) açın. 4. Kaydettiğiniz dosyanın bulunduğu dizine gidin (örneğin: `cd Belgelerim/PythonProjeler`). 5. Şu komutu çalıştırın: `python sayi_tahmin_oyunu.py` 6. Oyun başlayacak ve sizden tahmin isteyecektir! ### Ek İyileştirmeler/Fikirler: * **Tahmin Aralığını Değiştirme:** Kullanıcıya oyun başında tahmin aralığını (örneğin 1-10 veya 1-1000) seçme imkanı sunabilirsiniz. * **Deneme Hakkı Sınırı:** Kullanıcıya belirli bir deneme hakkı verebilirsiniz (örneğin 5 veya 10 hak). Hakları bittiğinde gizli sayıyı söyleyip oyunu bitirebilirsiniz. * **Tekrar Oynama:** Oyun bittiğinde kullanıcıya "Tekrar oynamak ister misin? (Evet/Hayır)" gibi bir soru sorarak oyunu yeniden başlatma seçeneği sunabilirsiniz. * **Zorluk Seviyeleri:** Farklı zorluk seviyeleri için farklı tahmin aralıkları veya deneme hakları ayarlayabilirsiniz. * **Yanlış Girişlerde İpucu:** Kullanıcı sayı aralığı dışında bir sayı girerse (örneğin 1-100 arasında 101 girerse) özel bir uyarı verebilirsiniz. Bu temel yapı ile kendi yaratıcılığını kullanarak oyunu daha da geliştirebilirsin! Başarılar!
Son Paylaşımlar
Kategoriler