Çözüldü While döngüsü nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Ark_Us

Megapat
Katılım
7 Nisan 2017
Mesajlar
907
Makaleler
1
Çözümler
7
Kod:
name = ""

while not name:
name = input("isminizi giriniz: ")
print(f"merhaba {name} ")

While not name kısmını anlayamdım. Burayı bana tane tane anlatabilir misiniz?
 
Çözüm
Kod:
name = ""

while not name:
name = input("isminizi giriniz: ")
print(f"merhaba {name} ")

While not name kısmını anlayamdım. Burayı bana tane tane anlatabilir misiniz?
"name" değişkenine boş değer atanmış, Python'da değer verilmezse, değişken "False" olur. While döngüsüne koşul olarak "name" değişkeni atanmış. Yani "while False:" olmuş. "While" döngüsü koşulu sadece "True" olunca çalışır. O yüzden "not name" yani "not False" olmuş. "not False" ne demek? "False değil" yani "False" yani yanlış olmayan şey nedir? "True" yani doğru. Burada da şu olmuş:

İsim değeri boş yani False olarak atanmış.
while "not False" = while True olmuş ve döngüye girmiş.
Senden "name" değerini girmeni istemiş.
Sen burada hiçbir şey yazmadan geçersen "name" değişkeni yine False olur ve döngü baştan başlar. Senden tekrar isim ister.
Eğer sen "name" olarak bir değer yazarsan da "while (not True)" yani "while False" olur.
"While" koşulu False olunca döngüye girilmez ve sonraki işlem çalışır.
Sonraki işlem olarak "merhaba isim" çıktısı alınır. "isim" yerine girilen "name" değeri gelir.
Kısaca while iken demek. Yani şu şu iken şunu yap. Şart koşuyorsunuz.

Sizin dediğiniz kısma gelirsek isim boş değilken ("" değilse) bir koşul koşuyor.
 
Kod:
name = ""

while not name:
name = input("isminizi giriniz: ")
print(f"merhaba {name} ")

While not name kısmını anlayamdım. Burayı bana tane tane anlatabilir misiniz?
"name" değişkenine boş değer atanmış, Python'da değer verilmezse, değişken "False" olur. While döngüsüne koşul olarak "name" değişkeni atanmış. Yani "while False:" olmuş. "While" döngüsü koşulu sadece "True" olunca çalışır. O yüzden "not name" yani "not False" olmuş. "not False" ne demek? "False değil" yani "False" yani yanlış olmayan şey nedir? "True" yani doğru. Burada da şu olmuş:

İsim değeri boş yani False olarak atanmış.
while "not False" = while True olmuş ve döngüye girmiş.
Senden "name" değerini girmeni istemiş.
Sen burada hiçbir şey yazmadan geçersen "name" değişkeni yine False olur ve döngü baştan başlar. Senden tekrar isim ister.
Eğer sen "name" olarak bir değer yazarsan da "while (not True)" yani "while False" olur.
"While" koşulu False olunca döngüye girilmez ve sonraki işlem çalışır.
Sonraki işlem olarak "merhaba isim" çıktısı alınır. "isim" yerine girilen "name" değeri gelir.
 
Çözüm
Kod:
int i=0, j=0;
while(j<10) //j 10'dan küçük ise aşağıdaki koşulu gerçekleştir.
{
    i+=j;
    cout<<"Sayı: "<<j<<"Toplamı: "<<i; //burada hangi sayının geldiği ve her seferinde gelen sayının i değişkeninde toplanması gerektiğini söylüyor.
}
For döngüsüne benzeyen bir yapı. Koşul uygunsa içindeki işlemi gerçekleştirir. Do-While döngüleri de var, Do kısmında koşul sağlanmaksızın işlem gerçekleştirilir, sonra While döngüsü istenilen şekilde düzenlenip istenilen koşula uyuyorsa While döngüsü içindeki koşullar gerçekleştirilir.
 
"Name" değişkenine boş değer atanmış, Python'da değer verilmezse, değişken "false" olur. While döngüsüne koşul olarak "name" değişkeni atanmış. Yani "while false:" Olmuş. "While" döngüsü koşulu sadece "true" olunca çalışır. O yüzden "not name" yani "not false" olmuş. "Not false" ne demek? "False değil" yani "false" yani yanlış olmayan şey nedir? "True" yani doğru. Burada da şu olmuş:

İsim değeri boş yani false olarak atanmış.
While "not false" = while true olmuş ve döngüye girmiş.
Senden "name" değerini girmeni istemiş.
Sen burada hiçbir şey yazmadan geçersen "name" değişkeni yine false olur ve döngü baştan başlar. Senden tekrar isim ister.
Eğer sen "name" olarak bir değer yazarsan da "while (not true)" yani "while false" olur.
"While" koşulu false olunca döngüye girilmez ve sonraki işlem çalışır.
Sonraki işlem olarak "merhaba isim" çıktısı alınır. "İsim" yerine girilen "name" değeri gelir.

Elimden geldikce anlamaya çalışdım şimdi dediğiniz while döngüsü true oldukca yani koşullar sağlanmadıkca çalışmıyor mu zaten not mantıksal oparatör bir ifadenin tersini alıyor ama bu operatör nerede kullanılabilir pek fikrim yoktu sonradan bu çıkınca kafamı az karıştırdı sanırım while döngüsnün mantığını iyi bir kavramam gerekiyor.
 
@Ark_Us While döngüsü, koşul "True" olduğu sürece çalışır. Koşul "False" olursa döngüden çıkılır. "name" değişkeni boş olarak tanımlanmış başta. Boş olan değer "False" olarak geçer. Şimdi "not False" ne oluyor? True. "while not False" yani "name" değişkeni olmadığı sürece çalıştır demek oluyor. Sonra senden "input" ile isim değişkeni istiyor. Eğer sen gelen kutucuğa bir yazı yazarsan ve Enter yaparsan girdiğin değer "name" olarak atanır. Eğer yazmazsan da "name" değişkeni yine boş olarak kalır. Şimdi sen "name" değişkeninde gelen kutucuğa bir değer yazmadın, ne oldu? "name" yine boş oldu ve "False" döndü. While döngüsü tekrar baktı, "not name" yani "not False" ne demek diye. True olunca da while döngüsü tekrar çalıştı ve senden değer istedi. Yani sen herhangi bir değer girmediğin sürece o döngü sonsuz döner. Sen değer girince de, girdiğin değer artık "name" değişkenidir. "name" değişkeni mesela "Eren" ismini taşısın, sen değer olarak "Eren" girdin. Artık "name" değişkeni bir değer taşıyor, bu değer de "Eren". Şimdi "name" değeri boş değil, o zaman "name" değişkeni "True". Boş değilse "True" döner. While döngüsü tekrar kontrol etti, "not name" yani "not True" nedir? "False". Koşul şu an "False". O zaman while döngüsü koşulu sağlanmadığı yani "True" olmadığı için döngüden çıkıldı. Sonraki işlem olarak da isim yazıldı. "merhaba Eren "
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı