Şu anda Lynda Python öğreticisinden geçiyorum ve jeneratörler bölümünde şu kodu görüyorum:Python: if-else arasında döngü için, bu nasıl/neden çalışır?
def isprime(n):
if n == 1:
return False
for x in range(2, n):
if n % x == 0:
return False
else:
return True
İlk önce onu yakalamadım ama koddan geçerken farkettim ki else
anahtar kelimesi, aynı girinti seviyesinde bir if
ile tüm arasında bir for-loop'a sahipti. Benim için sürpriz, kod sadece çalışır, aslında doğru davranışı üretir.
Basit bir print("Hello, World")
ifadesiyle for-loop değiştireceksem, o zaman beklenen bir yorumlayıcı hatası alıyorum.
Bu sözdiziminin ardında yatan sebep neydi ve neden print()
gibi değil, döngü ifadeleriyle çalışıyor?
Referans olması için kodun aşağıdaki gibi yazılmasını beklerdim:
def isprime(n):
if n == 1:
return False
for x in range(2, n):
if n % x == 0:
return False
return True
kuyu bu benim için normal görünüyor .. aslında beklediğiniz şekilde eşdeğerdir (ikinci kod bloğunda) – wim