Arkadaşlar merhaba.
Aklıma geldi de, hani döngüye alırken while True:
kullanırız ve bu işlem sürekli devam eder ya. Peki buna ne deniyor? Bu True
bir şart mıdır? Tam olarak neyi ifade ediyor da bu döngü sürekli devam ediyor?
Arkadaşlar merhaba.
Aklıma geldi de, hani döngüye alırken while True:
kullanırız ve bu işlem sürekli devam eder ya. Peki buna ne deniyor? Bu True
bir şart mıdır? Tam olarak neyi ifade ediyor da bu döngü sürekli devam ediyor?
Sen dur diyene kadar koşan ata benzer. At ya hani bu arada dizginlemek, dinlendirmek gerekir yoksa kontrolden çıkar çeşitli zararlara yol açabilir.
while 1:
while 1>0:
Gibi çeşitli kırbaçlama yöntemleri vardır.
Hocam bunu biliyorum ama neden True
? Ney True
oluyor da işlem devam ediyor?
while (1 > 0):
gibi düşünün.
(1 > 0) = True
olacaktır.
Öyleyse while (1 > 0)
dediğimiz şey zaten while True
oluyor.
Bir while
statement’ı:
while boolean:
#process
boolean
True
olduğu sürece döngü çalışacaktır.
a = int(input())
while a > 5:
#process
Mesela a > 5
condition
'ı ile de aslında burada bir boolean
ifade ediyoruz çünkü condition
'lar boolean
değer döndürürler.
Yani aslında while
'ın yanına yazdıklarınız günün sonunda ya False
ya da True
oluyor ve True
ise döngü çalışıyor. Dolayısıyla siz while True
yazarak döngünün çalışıp çalışmayacağını bir şarta bağlamak yerine döngünün durumunu elle belirlemiş gibi oluyorsunuz.
Umarım anlatabilmişimdir.
Evet hocam şimdi anladım, teşekkür ederim.
Aslında while bir expression kabul ediyor condition değil de tam olarak
Şuradan bakabilirsin:
Hayır, statement
.
Örneğin lambda
fonksiyonlarda while
kullanamazsınız çünkü lambda
fonksiyonlara statement
yazamazsınız ama expression
yazabilirsiniz.
lambda arguments : expression
ama biz burada while koşuluna yazılan kısımdan bahsediyoruz.
Tamam while bir statement aşağıdaki gibi ama bir expression sonucu bekliyor. Aslında oraya True
yazarsan direk sonucu yazmış oluyorsun ama expression olmuş olmaz.
while (x>10)
şuradaki tanım gibi :
The while statement executes an Expression and a Statement repeatedly until the value of the Expression is false.
https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.12
Pardon, yanlış anlamışım.