Python 3’te sayı tahmin oyunu
Bilgisayar Bilimleri (Bilgisayar Bilimleri) geçmişinden gelen çoğu yazılımcı, bir Programlama Dili yaptıktan sonra ilk projelerini düşünürler. Burada, ilk projenizi ve temel olanı bu makalede alacaksınız.
Uygulamanın amacı: Kullanıcının bir aralık seçtiği bir Sayı tahmin oyunu oluşturun.
Kullanıcı A,B arasında rastele bir tam sayı seçeceğini varsayalım. A-B arasındaki tüm sayıların birer doğal sayı olduğunu da unutmayalım. Kullanıcı bu aralıkta rastgele bir sayı seçecek.
Sistem tarafından rastgele bir tamsayı seçilecek ve kullanıcının bu tamsayıyı minimum tahmin sayısında tahmin etmesi gerekecek.
Örnek analiz:
Diyelim ki;
- Kullanıcı alt sınır olarak 1, üst sınır olarak 100 girdi.
- Derleyici rastgele 42’yi tamsayı olarak seçti.
- Şimdi tahmin oyunu başladı, bu nedenle kullanıcı ilk tahmini olarak 50 girdi.
- Derleyici “Tekrar Deneyin! Çok yüksek tahmin ettiniz ”. Bu, rastgele sayının (yani 42) 50 ile 100 aralığına girmediği anlamına gelir.
- Aralığın yarısını tahmin etmenin önemi budur. Ve yine, kullanıcı 50’nin yarısını tahmin ediyor (Bana nedenini söyleyebilir misiniz?). Yani 50’nin yarısı 25’tir. Kullanıcı ikinci tahmini olarak 25’i girer.
- Bu sefer derleyici, “Tekrar Deneyin! Çok küçük tahmin ettiniz ”. Bu, 25’ten küçük (1’den 25’e kadar) tam sayıların tahmin edilemeyeceği anlamına gelir.
- Artık kullanıcı tahmin aralığı daha kısa, yani 25’ten 50’ye. Akıllıca! Kullanıcı bu aralığın yarısını tahmin etti, böylece kullanıcı üçüncü tahmini olarak 37 tahmin etti. Bu kez tekrar derleyici “Tekrar Deneyin! Çok küçük tahmin ettiniz ”. Kullanıcı için tahmin aralığı her tahminle küçülüyor.
- Şimdi, kullanıcı için tahmin aralığı 37 ila 50 arasındadır ve kullanıcı bunun için dördüncü tahmini olarak 43’ü tahmin etmiştir. Bu sefer derleyici “Tekrar Deneyin! Çok yüksek tahmin ettiniz ”.
- Dolayısıyla, kullanıcılar için yeni tahmin aralığı 37 ile 43 arasında olacaktır, yine kullanıcı bu aralığın yarısını, yani beşinci tahmini olarak 40’ı tahmin etmiştir.
- Bu sefer derleyici, “Tekrar Deneyin! Çok küçük tahmin ettiniz ”.
- Tahminleri 41’den 43’e çıkaracak şekilde daha da küçültmek.
- Ve şimdi kullanıcı altıncı tahmini olarak 41’i tahmin etti. Yanlış olan ve “Tekrar Deneyin! Çok küçük tahmin ettiniz ”.
- Ve son olarak, Kullanıcı yedinci tahmini olarak 42 olan doğru sayıyı tahmin etti.
Python Kodu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import random import math # Kullanıcıdan sayıları alalım alt = int(input("Alt sınırı girin: ")) ust = int(input("Üst sınırı girin: ")) # alt-ust arasıda rastgele sayı üretelim x = random.randint(alt, ust) #kullanıcıya hak verme 2üzeri şeklinde logaritma aldım. #hak =10 yapılabilir hak=round(math.log(ust - alt + 1, 2)) + 2 print("\n\tSadece ", hak ," hakkınız var!\n") # sayacı başlat sayac = 0 bayrak=False # tahminleri yapmak için döngüyü başlat while sayac < hak: sayac += 1 # kullanıcıdan bir sayı alın tahmin = int(input("{}. tahmini yapın: ".format(sayac))) # Tahmini kontrol et if x == tahmin: print("Tebrikler ", sayac, " seferde tahmin ettiniz.") # işlem bitti çıkış yap bayrak=True break elif x > tahmin: print("Büyük sayı girin!") elif x < tahmin: print("Küçük sayı girin!") # Eğer ziyaretçi tahmin edemezse if bayrak==False: print("\nSayı %d"%x) print("\tBir dahaki sefere!") |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Alt sınırı girin: 1 Üst sınırı girin: 100 Sadece 9 hakkınız var! 1. tahmini yapın: 50 Büyük sayı girin! 2. tahmini yapın: 75 Küçük sayı girin! 3. tahmini yapın: 63 Küçük sayı girin! 4. tahmini yapın: 57 Tebrikler 4 seferde tahmin ettiniz. |
Yorum Yap