Pythonda bayroqchalar bilan ishlash
Bayroqcha - bu faqat ikkita qiymat
qabul qilishi mumkin bo'lgan maxsus o'zgaruvchi:
True yoki False. Bayroqchalar
yordamida nimanidir yo'qligini tekshiradigan
masalalarni yechish mumkin: masalan, ro'yxatda
ma'lum qiymatga ega element yo'qligini
tekshirish mumkin.
Keling, quyidagi masalani yechamiz: sonlar
ro'yxati berilgan, uning barcha elementlari
musbat ekanligini tekshirish kerak. Buning
uchun flag maxsus o'zgaruvchisini
belgilaymiz, u tsikl boshlanishidan oldin
rost qiymatga ega bo'ladi. Tsikl da manfiy
son uchrayotganda esa, uning qiymatini
False ga o'zgartiramiz. Tekshiruv
natijasini bilish uchun, tsilkdan keyin
flag o'zgaruvchisini konsolga
chiqaramiz:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # True chiqadi, chunki barcha sonlar musbat
Yaxshi amaliyot - bayroqcha o'zgaruvchisi
uchun berilgan shartni aks ettiruvchi nom
berishdir. Keling flag ni
isAllPositive ga o'zgartiramiz.
Va aniqlik uchun ro'yxatdagi bir sonni
manfiy qilamiz:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # False chiqadi, chunki manfiy son mavjud
Agar qayta islanayotgan ro'yxatda ko'p
qiymatlar bo'lsa va birinchi manfiy son
aniqlangandan keyin tsiklni to'xtatish
kerak bo'lsa, break ko'rsatmasini
qo'llash kerak:
for el in lst:
if el < 0:
isAllPositive = False
break
Bayroqchalar bilan ishlashda, tsilknatijasini
bilib olish uchun, bayroqning qiymatini
chiqarish o'rniga, qo'shimcha if
yordamida ixtiyoriy xabarni chiqarish
mumkin.
Keling oldingi misolni qayta yozamiz. Agar
barcha elementlar musbat bo'lsa, '+++'
chiqsin, aks holda - '---' chiqsin:
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # '---' chiqadi
Ro'yxat berilgan. Uning barcha elementlari musbat sonlar ekanligini tekshiring.
Butun son berilgan. Uning tub son ekanligini tekshiring, ya'ni faqat bitta va o'ziga bo'linadigan son.