Python'da Bayraklarla Çalışma

Bayrak - yalnızca iki değer alabilen özel bir değişkendir: True veya False. Bayraklar kullanarak, belirli bir şeyin yokluğunu kontrol eden problemleri çözebilirsiniz: örneğin, bir listede belirli bir değere sahip bir öğe olmadığını kontrol edebilirsiniz.

Şu problemi çözelim: bir sayı listesi verildi, içindeki tüm öğelerin pozitif olup olmadığını kontrol etmemiz gerekiyor. Bunun için, döngü başlamadan önce doğru flag adında özel bir değişken tanımlayalım. Döngüde negatif bir sayıyla karşılaşıldığında, değerini False olarak değiştirelim. Kontrolün sonucunu öğrenmek için, döngüden sonra flag değişkenini konsola yazdıralım:

pythonlst = [1, 2, 3, 4, 5]
flag = True

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # tüm sayılar pozitif olduğu için True yazdırır

Bayrak değişkeni için, belirlenen koşulu yansıtan bir isim vermek iyi bir uygulamadır. flag ismini isAllPositive olarak değiştirelim. Daha net görmek için listedeki bir sayıyı negatif yapalım:

pythonlst = [1, 2, 3, -4, 5]
isAllPositive = True

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # negatif bir sayı olduğu için False yazdırır

Eğer taranan listede çok sayıda değer varsa ve ilk negatif sayı bulunduktan sonra döngüyü durdurmak gerekiyorsa, break komutu kullanılmalıdır:

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

Bayraklarla çalışırken, döngünün sonucunu öğrenmek için bayrağın değerini değil, ek bir if kullanarak özel bir mesaj yazdırabilirsiniz.

Bir önceki örneği tekrar yazalım. Eğer tüm öğeler pozitifse, '+++' yazdırılsın, değilse '---' yazdırılsın:

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

if isAllPositive:
  print('+++')
else:
  print('---') # '---' yazdırır
Задание 1

Bir liste verildi. Tüm öğelerinin pozitif sayılar olup olmadığını kontrol edin.

Задание 2

Bir tam sayı verildi. Asal sayı olup olmadığını kontrol edin, yani yalnızca bire ve kendisine bölünüp bölünmediğini.