Python-da Bayraqlarla Ishləmə

Bayraq - yalnız iki qiymət ala bilən xüsusi dəyişəndir: True və ya False. Bayraqların köməyi ilə müəyyən bir şeyin olmamasını yoxlayan məsələləri həll etmək olar: məsələn, siyahıda müəyyən qiyməti olan elementin olmadığını yoxlamaq olar.

Gəlin aşağıdakı məsələni həll edək: ədədlər siyahısı verilib, onun bütün elementlərinin müsbət olub-olmadığını yoxlamaq lazımdır. Bunun üçün flag adlı xüsusi dəyişən təyin edək ki, dövrədən əvvəl o, doğru olsun. Dövrə ərzində mənfi ədəd rast gəlinərsə, onun qiymətini False olaraq dəyişək. Yoxlamanın nəticəsini öyrənmək üçün dövrədən sonra flag dəyişənini konsola çıxadaq:

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # True cixacaq, cunki butun ededler musbetdir

Bayraq dəyişəninə verilən şərti əks etdirən ad vermək yaxşı təcrübədir. Gəlin flag adını isAllPositive olaraq dəyişək. Və aydınlıq üçün siyahıdakı ədədlərdən birini mənfi edək:

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # False cixacaq, cunki menfi eded var

Əgər gəzilən siyahıda çoxlu qiymət varsa və ilk mənfi ədəd aşkar edildikdən sonra dövrəni dayandırmaq lazımdırsa, onda break instruksiyasından istifadə etmək lazımdır:

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

Bayraqlarla işləyərkən, dövrənin icrasının nəticəsini öyrənmək üçün bayrağın qiymətini yox, əlavə if ilə istənilən mesajı çıxarmaq olar.

Gəlin əvvəlki nümunəni yenidən yazaq. Əgər bütün elementlər müsbətdirsə, '+++' çıxsın, yoxdursa - '---' çıxsın:

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

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

Siyahı verilib. Onun bütün elementlərinin müsbət ədədlər olmasını yoxlayın.

Задание 2

Tam ədəd verilib. Onun sadə ədəd olmasını yoxlayın, yəni yalnız birə və özünə bölünür.