Python တွင် အလံများနှင့် အလုပ်လုပ်ခြင်း

အလံ ဆိုသည်မှာ အထူးပြုထားသော ကိန်းရှင်တစ်ခုဖြစ်ပြီး တန်ဖိုးနှစ်ခုသာ လက်ခံနိုင်သည် - True သို့မဟုတ် False။ အလံများကို အသုံးပြု၍ တစ်စုံတစ်ရာ မရှိခြင်းကို စစ်ဆေးသည့် ပြဿနာများကို ဖြေရှင်းနိုင်သည်- ဥပမာအားဖြင့်၊ စာရင်းထဲတွင် တိကျသော တန်ဖိုးရှိသော အစုတ်မရှိကြောင်း စစ်ဆေးနိုင်သည်။

အောက်ပါပြဿနာကို ဖြေရှင်းကြပါစို့- ဂဏန်းများပါသော စာရင်းတစ်ခုပေးထားသည်၊ ၎င်းအတွင်းရှိ အစိတ်အပိုင်းအားလုံးသည် အပြုသဘောဆောင်မဆောင်ကို စစ်ဆေးရန်လိုအပ်သည်။ ၎င်းအတွက် အထူးကိန်းရှင် flag တစ်ခုကို သတ်မှတ်ပါမည်၊ ထိုကိန်းရှင်သည် ကွင်းဆက်စတင်မီ မှန်ကန်True ဖြစ်လိမ့်မည်။ ကွင်းဆက်အတွင်းသို့ အနုတ်ဂဏန်းတစ်ခုဝင်ရောက်သောအခါ၊ ၎င်း၏တန်ဖိုးကို False အဖြစ်သို့ ပြောင်းလဲပါမည်။ စစ်ဆေးမှု၏ ရလဒ်ကိုသိရန်၊ ကွင်းဆက်ပြီးနောက် flag ကိန်းရှင်ကို console တွင် ရိုက်ထုတ်ပြပါမည်-

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # True ကိုရိုက်ထုတ်ပြမည်၊ ဂဏန်းအားလုံးအပြုသဘောဆောင်သောကြောင့်

ကောင်းမွန်သော အလေ့အကျင့်တစ်ခုမှာ အလံအတွက် ကိန်းရှင်ကို သတ်မှတ်ထားသောအခြေအနေကို ရောင်ပြန်ဟပ်သည့် အမည်ပေးခြင်းဖြစ်သည်။ flag ကို isAllPositive အဖြစ် ပြန်လည်အမည်ပေးကြပါစို့။ ရှင်းလင်းစေရန်အတွက် စာရင်းမှ ဂဏန်းတစ်ခုကို အနုတ်သို့ ပြောင်းလဲပါမည်-

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # False ကိုရိုက်ထုတ်ပြမည်၊ အနုတ်ဂဏန်းတစ်ခုရှိသောကြောင့်

ရွေးချယ်စရာစာရင်းတွင် တန်ဖိုးများစွာရှိပြီး ပထမဆုံးအနုတ်ဂဏန်းတွေ့ရှိပြီးနောက် ကွင်းဆက်ကို ရပ်တန့်ရန်လိုအပ်ပါက၊ break ညွှန်ကြားချက်ကို အသုံးပြုသင့်သည်-

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

အလံများနှင့် အလုပ်လုပ်စဉ်၊ ကွင်းဆက် အလုပ်လုပ်ခြင်း၏ ရလဒ်ကိုသိရန်၊ အလံ၏တန်ဖိုးကို ရိုက်ထုတ်ခြင်းမဟုတ်ဘဲ အပိုif အသုံးပြု၍ စိတ်ကြိုက်သတင်းစကားကို ရိုက်ထုတ်နိုင်သည်။

ယခင်ဥပမာကို ပြန်ရေးကြပါစို့။ အကယ်၍ အစိတ်အပိုင်းအားလုံးသည် အပြုသဘောဆောင်ပါက၊ '+++' ကို ရိုက်ထုတ်ပါစေ၊ မဟုတ်ပါက '---' ကို ရိုက်ထုတ်ပါစေ-

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

if isAllPositive:
  print('+++')
else:
  print('---') # '---' ကိုရိုက်ထုတ်ပြမည်
Задание 1

စာရင်းတစ်ခုပေးထားသည်။ ၎င်း၏အစိတ်အပိုင်းအားလုံး အပြုသဘောဆောင်သော ဂဏန်းများဖြစ်ကြောင်း စစ်ဆေးပါ။

Задание 2

ကိန်းပြည့်တစ်ခုပေးထားသည်။ ၎င်းသည် အဓိကကိန်းဖြစ်မဖြစ် စစ်ဆေးပါ၊ ဆိုလိုသည်မှာ တစ်နှင့် ၎င်းကိုယ်တိုင်အပေါ်သာ စားခြင်းဖြစ်သည်။