Python ile Sayı Tahmini Oyunu
Python ile sayı tahmini oyunu aşağıdaki durumları ışığında kodlanacaktır.
Python ile Sayı Tahmini Oyunu | Çözüm 1
- Bilgisayar 1 ile 100 arasında rastgele bir sayı tutsun
- Kullanıcıya oynamak istiyor mu diye sorulsun eğer evetse yanlış cevaplarda ipucu versin: Eğer kullanıcının tahmini bilgisayarın tuttuğu sayıdan büyükse, küçük bir sayı tutmasını söylesin. Eğer değilse tam tersini yapsın
- Kaç tahminde kullanıcının tahmin edebildiği hesaplansın
- Kullanıcı doğru tahmin ederse tekrar oynayıp oynamak istemediği sorulsun
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#Python ile Sayı Tahmini Oyunu import random print("Sayı tahmin etme oyununa hoş geldin!") oynamak_istiyor_musun = "Evet" while oynamak_istiyor_musun == "Evet": cevap = random.randint(1, 100) tahmin = int(input("1 ile 100 arasındaki sayıyı tahmin et!")) hak = 1 while tahmin != cevap: if tahmin > cevap: print("Yanlış, bir dahakine daha küçük bir sayı tahmin et!") if tahmin < cevap: print("Yanlış, bir dahakine daha büyük bir sayı tahmin et!") tahmin = int(input("1 ile 100 arasındaki sayıyı tahmin et!")) hak += 1 print(f"Tebrikler, kazandın! kazanan tahmin: {cevap}") oynamak_istiyor_musun = input("Yeni bir oyun atmak istiyor musun? 'Evet', 'Hayır' \n") |
Kodu çalıştırmak için: Trinket
Soruyu biraz değiştirelim:
- Kullanıcıya kolaySeviye ve zorSeviye olarak adlandırılan 2 oynama modu sunulacak.
- Zor modu seçen kullanıcının 5, kolay modu seçen kullanıcının ise 10 hakkı olacak.
- Kullanıcı tahmini tutturursa ekrana “Oyunu Kazandınız!” yazdır.
- Kullanıcının tahmini bilgisayarın tahmininden büyük ise “Daha küçük bir sayı tahmin ediniz!” yazısını ekrana yazdır ve kullanıcı varsa bir sonraki tahminini yapsın
- Eğer kullanıcının tahmini bilgisayarın tahmininden küçük ise “Daha büyük bir sayı tahmin ediniz!” yazısını ekrana yazdır ve kullanıcı varsa bir sonraki tahminini yapsın
⭐ Çözüm için fonksiyonlar, while döngüsü ve if-elif-else deyimleri kullanılmıştır:
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 44 45 46 47 48 49 50 51 |
#Python ile Sayı Tahmini Oyunu from random import randint kolaySeviyeHak = 10 zorSeviyeHak = 5 #Tahmini kontrol eden fonksiyon def tahminKontrol (seninTahminin, bilgisayarTuttu, hak): if seninTahminin > bilgisayarTuttu: print ("Bir dahakine küçük bir sayı tahmin et!") return hak - 1 elif seninTahminin < bilgisayarTuttu: print ("Bir dahakine büyük bir sayı tahmin et!") return hak - 1 else: print ("Tabrikler, kazandın!") #zorluk seviyesini ayarlayan bir fonksiyon yaz. def zorlukSeviyesi (): seviye = input ('Zorluk seviyesini seçin: "zor", "kolay') if seviye == "zor": print ("5 tahmin hakkın var.") return zorSeviyeHak else: print ("10 tahmin hakkın var.") return kolaySeviyeHak def tahminOyunu (): #1 ile 100 arasında rastgele bir sayı seçtir. print ("Bilgisayar 1-100 arasında bir sayı seçti.") bilgisayarTuttu = randint (1, 100) hak = zorlukSeviyesi () #hakkı bitene kadar oyun devam etsin. seninTahminin = 0 while seninTahminin != bilgisayarTuttu: #Tahmin yanlışsa hakkı bir düşsün print (f"kalan tahmin hakkın {hak}") #Kullanıcıdan bilgisayarın tuttuğu sayıyı tahmin etmesini iste seninTahminin = int (input ("Sence bu sayı nedir?")) hak = tahminKontrol (seninTahminin, bilgisayarTuttu, hak) if hak == 0: print ("Tahmin hakkın bitti, oyunu kaybettin!") return tahminOyunu () |
Kodu çalıştırmak için: Trinket
⭐ Yukarıdaki çözümü fonksiyon olmadan çözelim:
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 |
import random print("Sayı tahmin etme oyununa hoş geldin!") oynamak_istiyor_musun = "Evet" while oynamak_istiyor_musun == "Evet": cevap = random.randint(1, 100) zorlukSeviyesi = input("Zorluk seviyesi nasıl olsun: 'Kolay','Zor' ") tahmin = int(input("1 ile 100 arasındaki sayıyı tahmin et!\n")) hak = 1 if zorlukSeviyesi == "Zor": while tahmin != cevap and hak < 6: if tahmin > cevap: print("Yanlış, bir dahakine daha küçük bir sayı tahmin et!") elif tahmin < cevap: print("Yanlış, bir dahakine daha büyük bir sayı tahmin et!") tahmin = int(input("1 ile 100 arasındaki sayıyı tahmin et!\n")) hak += 1 if hak == 6: print("Hakkın bitti, kaybettin!") elif tahmin == cevap: print(f"Tebrikler, kazandın! kazanan tahmin: {cevap}") oynamak_istiyor_musun = input("Yeni bir oyun atmak istiyor musun? 'Evet', 'Hayır'\n") elif zorlukSeviyesi == "Kolay": while tahmin != cevap and hak < 11: if tahmin > cevap: print("Yanlış, bir dahakine daha küçük bir sayı tahmin et!") elif tahmin < cevap: print("Yanlış, bir dahakine daha büyük bir sayı tahmin et!") tahmin = int(input("1 ile 100 arasındaki sayıyı tahmin et!\n")) hak += 1 if hak == 10: print("Hakkın bitti, kaybettin!") elif tahmin == cevap: print(f"Tebrikler, kazandın! kazanan tahmin: {cevap}") oynamak_istiyor_musun = input("Yeni bir oyun atmak istiyor musun? 'Evet', 'Hayır'\n") |
Kodu çalıştırmak için: Trinket
⭐ Alternatif bir çözüm yolu için:
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 44 45 46 47 48 49 50 51 52 |
#Python ile Sayı Tahmini Oyunu from random import randint kolaySeviyeHak = 10 zorSeviyeHak = 5 # zorluk seviyesi yaz def zorluk_seviyesi(): seviye_tercihi = input("Oyun zorluğunu seçiniz. 'Kolay','Zor'\n").lower() if seviye_tercihi == "kolay": print("Oyunu kazanabilmek için 10 hakkın var!") return kolaySeviyeHak else: print("Oyunu kazanabilmek için 5 hakkın var!") return zorSeviyeHak def tahmin_oyunu(): print("Bilgisayar 1 ile 100 arasında bir sayıyı aklından tuttu.") bilgisayar_tuttu = randint(1, 100) devam_et = True kalan_hak = zorluk_seviyesi() while devam_et: senin_tahminin = int(input("Bilgisayarın aklından tuttuğu sayı nedir?")) if senin_tahminin > bilgisayar_tuttu: print("Fazla attın, bir sonrakine küçük bir sayı seç!\n") kalan_hak -= 1 elif senin_tahminin < bilgisayar_tuttu: print("Ufak attın, bir dahakine büyük bir sayı seç!\n") kalan_hak -= 1 else: print("Tabrikler, kazandın!") devam_et = False yeni_oyun = input("Yeni bir oyun oynamaya ne dersin? 'Evet','Hayır'\n").lower() if yeni_oyun == "evet": tahmin_oyunu() else: devam_et = False if kalan_hak == 0: print("Hakkın bitti, oyunu kaybettin!") devam_et = False yeni_oyun = input("Yeni bir oyun oynamaya ne dersin? 'Evet','Hayır'\n").lower() if yeni_oyun == "evet": tahmin_oyunu() else: devam_et = False tahmin_oyunu() |