Python While döngüsü ile sayı tahmin oyunu yapmak

MusTa52

Centipat
Katılım
20 Kasım 2022
Mesajlar
34
Daha fazla  
Cinsiyet
Erkek
1684088411046.png


Sayı tahmin oyunu çalışıyor ancak ben bilgisayarın bana verdiği cevapta değişiklik istiyorum;
Bilgisayar 62 sayısını tuttu diyelim, bende 55 sayısı girdim ve bana 55 ile 100 arası bir sayı girmemi söyledi ardından 70 sayısını girdiğimde bana bilgisayar 70 ile 0 arası sayı girmemi söylüyor ancak ben 70 sayısını girdikten sonra bana 70 ile 0 arası değil de 70 ile 55 arası yani ilk girdiğim ancak yanlış olan sayı arasına olduğunu söylemesini istiyorum. Yoksa verdiği aralıklarda yanlışlık oluyor bence oyun düzgün çalışmış olmuyor. Umarım derdimi anlatabilmişimdir. Teşekküreler.

Alt ve üst değerlerini girmemi bana ödev veren kişi istedi ve if else komutlarını arttırmamı alt ve üst komutlarını gerektiği yerde eşitlememi söyledi.
 
Print e " tahmin ile 0 arasında sayı girin" şeklinde tanımlama yapmışsınız.

whiledan önce "eski" adında değişken tanımlayın ve Elif'e ve else e "eski= tahmin" şeklinde bir eşitleme yapın. Printe de 0 yazdığınız yere Eski değerini atın aynı şekilde 100 yazdığınız yörede eski yazın.

Not: Kalın yazı Bug'da kaldı silsem de düzgün yazılmıyor.
 
Print e " tahmin ile 0 arasında sayı girin" şeklinde tanımlama yapmışsınız.

whiledan önce "eski" adında değişken tanımlayın ve Elif'e ve else e "eski= tahmin" şeklinde bir eşitleme yapın. Printe de 0 yazdığınız yere Eski değerini atın aynı şekilde 100 yazdığınız yörede eski yazın.

Not: Kalın yazı Bug'da kaldı silsem de düzgün yazılmıyor.

1684090707584.png


Böyle bir sorun oluştu hocam bu sefer.

1684090718238.png


** Sonradan düzelttim. 100'ün yanına da eski yazdım. Ancak hata oldu yine. Sıkıntı nedir acaba?
 
Son düzenleyen: Moderatör:
Kod:
tahmin = int(input())

if(tahmin > sayi):
    üst = tahmin
else if(tahmin < sayi):
    alt = tahmin
else
    #doğru sayı
Kalan statementlarını sen halledersin zaten.
 
Son düzenleme:
Eki Görüntüle 1779324

Böyle bir sorun oluştu hocam bu sefer

Eki Görüntüle 1779325

** Sonradan düzelttim 100'ün yanına da eski yazdım ancak hata oldu yine sıkıntı nedir acab

Printten sonraki satırda eski = tahmin yaparsanız sorun çözülür hocam. Yani eski= tahmini printten önce yaptığınız için direk printte o değeri bastırıyor, fakat printten sonra eskiyi eşitlerseniz bir sonraki tahmininizde yazılan değer eski tahmininiz olacaktır.
 
Printten sonraki satırda eski = tahmin yaparsanız sorun çözülür hocam. Yani eski= tahmini printten önce yaptığınız için direk printte o değeri bastırıyor, fakat printten sonra eskiyi eşitlerseniz bir sonraki tahmininizde yazılan değer eski tahmininiz olacaktır.

1684092433815.png


Sizin dediğiniz dışında hatam var mı acaba dediğinizi yaptım ancak bu sefer de böyle oldu.
 
Bu tarz bir şey mi istiyorsunuz? +-1 farkı olabilir.

Eki Görüntüle 1779364

Kodu atma gibi bir şansınız varsa deneyebilir miyim ama doğru gibi gözüküyor bende bu konuyu yeni öğrendim o yüzden ödev verildi bana bende yapamadığım yeri sormak istemiştim.

Bu tarz bir şey mi istiyorsunuz? +-1 farkı olabilir.

Eki Görüntüle 1779364

Teşekkürler hocam bu benim aradığım olay. Benim yaptığımın tamamen değiştirmem gerek mi?
 
Son düzenleme:
Kodu atma gibi bir şansınız varsa deneyebilir miyim?
Deneyin. Size engel olan yok. Kod önünüzde duruyor. Siz görsel olarak paylaşırken iyiydi. Aynısı yapılınca metin olarak isteyecekseniz başta öyle yapmayacaktınız.

Çeşitli şekillerde yazılabilir. Çalışması ve gereksiz yük oluşturmaması yeterli. Bir de biraz programlama standartlarına uysa yeter.
Mesela while True bu döngü sonsuza kadar devam edecek demektir. Böyle bir döngü saçmadır. İnsanlardan döngünüzün içindeki break yazan kısımları tespit edip durmasını beklemek saçmadır. Paylaştığım örnekteki gibi bir while döngüsü mümkün iken öyle yapmak daha iyi.

Nerelerin neyi yaptığını anlıyorsunuz gibi duruyor. İhtiyacınız olan kısmı alıp kullanın. Size gerken şeyin tam olarak ne olduğunu bilmiyoruz. Mesela neden kullanıcı diye bir değişken kullandığınızı bilmiyoruz.
 
Deneyin. Size engel olan yok. Kod önünüzde duruyor. Siz görsel olarak paylaşırken iyiydi. Aynısı yapılınca metin olarak isteyecekseniz başta öyle yapmayacaktınız.

Çeşitli şekillerde yazılabilir. Çalışması ve gereksiz yük oluşturmaması yeterli. Bir de biraz programlama standartlarına uysa yeter.
Mesela while True bu döngü sonsuza kadar devam edecek demektir. Böyle bir döngü saçmadır. İnsanlardan döngünüzün içindeki break yazan kısımları tespit edip durmasını beklemek saçmadır. Paylaştığım örnekteki gibi bir while döngüsü mümkün iken öyle yapmak daha iyi.

Nerelerin neyi yaptığını anlıyorsunuz gibi duruyor. İhtiyacınız olan kısmı alıp kullanın. Size gerken şeyin tam olarak ne olduğunu bilmiyoruz. Mesela neden kullanıcı diye bir değişken kullandığınızı bilmiyoruz.

Özür dilerim sonradan düşününce kendim yazmam gerektiğimin farkına vardım. Bana verilen ödevde kullanıcının kaçıncı tahminini yaptığını görmesi için öyle bir değişken kullandım. Verdiğiniz bilgiler içinde teşekkür ederim.
 
Son düzenleme:

Geri
Yukarı