While ve for döngüsü içinde neden ikinci sorguda sıfırlanıyor

image

böyle bir program var. liste isimli metin belgesinde kullanıcının söylediği harften kaç tane bulunduğunu söylüyor.

fakat şöyle bir sıkıntı var. ilk harfi verdiğim zaman doğru yanıt alıyorum. ikinci defa sorgulamak istenen harf istendiğinde ise aldığım yanıt 0 oluyor o harften bolca bulunduğu halde.

sebebi nedir bunun izah eder misiniz? ayrıca buna nasıl bir çözüm geliştirilebilir?

fark değişkenini while döngüsü dışına alıp deneyin

Adam +1 olarak arttırıyor ama siz her gelişte fark değişkenini tekrar 0 yapıyorsunuz döngü başa döndüğü zaman 0 oluyor yine fark değişkenini whilenin üstüne alın

1 Beğeni

Siz ilk harfi girdiğinizde dosyanın sonuna geliyor. O yüzden ikinci harfte for döngüsü hiç çalışmıyor. Bunu önlemek için for döngüsünden önce şu kodu ekleyin:

hakkında.seek(0)

Bu kod tekrar başa alacaktır.

1 Beğeni

hocam bu sefer ilk sonucu doğru bulmaya başladı ama ondan sonraki tüm sorgularda ilk harften kaç adet bulunuyorsa onu verdi çıktı olarak bunun sebebi nedir rica etsem anlatabilir misiniz öğrenmeye çalışıyorum da

bu işe yaradı hocam çok teşekkürler.