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:
lst = [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:
lst = [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:
for 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:
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # '---' cixacaq
Siyahı verilib. Onun bütün elementlərinin müsbət ədədlər olmasını yoxlayın.
Tam ədəd verilib. Onun sadə ədəd olmasını yoxlayın, yəni yalnız birə və özünə bölünür.