ကျွန်တေ်ာ ဒီပု့ိစ်မှာတော့ python ရဲ့ loop မှာ beginner တချို့သတိမထားမိတဲ့ while else ကိုမိတ်ဆက်ပေးပါမယ်။
while သည် looping ဖြစ်ပြီး syntax ကတော့
while <expr>:
statement
အဲ့လိုရေးကြပါတယ်။အဲ့တော့ ကျွန်တော်တို့ သည် 1 ကနေ 10ထိထုတ်တဲ့ ပုံစံလေးရေးကြည့်မယ်ဆို
>>> n = 1
>>> while n <= 10:
... print(n)
... n += 1
...
1
2
3
4
5
6
7
8
9
10
>>>
ဒါမျိုးတွေ့ရပါမယ်။Loop တစ်ခါပတ်တိုင်း၁တိုးပေးပါတယ်။ဒီမှာ beginner တွေအနေနဲ့ သိထားရမှာက n<=10 ဆိုတဲ့ expression ပါပဲ။သူသည် n က ၁၀ ထက်ငယ် ဒါမှမဟုတ် ညီတဲ့အထိအလုပ်လုပ်မယ်လို့ပြောထားလို့ ကျွန်တော်တို့က ၁၀ထိရောက်တဲ့ ထိ n+=1 ဆိုပြီး ၁တိုးပြီး ထုတ်ကြည့်လိုက်တော့ result ထွက်လာတာပါ။ဒါပေမဲ့ ဒီမှာပြောချင်တာက loopအကြောင်းမဟုတ်ပါဘူး။while else အလုပ်လုပ်ပုံကို ပြောချင်တာပါ။example ကြည့်ရအောင်
>>> n = 1
>>> while n <= 10:
... print(n)
... n += 1
... else:
... print("Else works")
...
1
2
3
4
5
6
7
8
9
10
Else works
>>>
အပေါ်က exampleကိုကြည့်မယ်ဆို else သည် loop ကထွက်လာတဲ့အခါ အလုပ်လုပ်တာတွေ့ရမှာပါ။ဒါဆို အောက်ကလိုရေးတော့ရောဘာကွာလဲလို့မေးစရာရှိပါတယ်။
while <expr>:
statement
print("Else works")
အခုလို else မခံပဲရေးလဲ အလုပ်လုပ်မှာပါပဲ။ဒါပေမဲ့ else သာမပါဘူးဆို သူသည် ဘာအကြောင်းကြောင်း ကြောင့် loop ကရပ်သွားတာနဲ့ အလုပ်လုပ်မှာပါ။Else ကတော့လုပ်မှာမဟုတ်ပါဘူး။
>>> n = 1
>>> while n <= 10:
... if n == 3:
... break
... print(n)
... n += 1
... else:
... print("Else works")
...
1
2
>>>
အပေါ်က example ကိုကြည့်မယ်ဆို 3 ကိုရောက်တာနဲ့ loop ကရပ်မှာပါ။အကယ်လို့ loop သည် အကြောင်းကြောင်းကြောင့် ရပ်သွားတယ်ဆို else က အလုပ်လုပ်မှာမဟုတ်ပါဘူး။else သည် n <= 10 က မှားသွားတဲ့အခြေအနေရောက်မှ အလုပ်လုပ်ပါတယ်။ကျွန်တေ်ာတို့ n က ၁၁ ဖြစ်သွားတယ်ဆို n <= 10 ဆိုတာက မှားသွားတာမို့ loop ကနေ ထွက်သွားပြီး else ကအလုပ်လုပ်မှာပါ။အကယ်လို့သာ အောက်ကလို else မပါပဲရေးမယ်ဆို
n = 1
while n <= 10:
if n == 3:
break
print(n)
n += 1
print("Else works")
အောက်ကဆုံးက print(“Else works”) ဆိုတာသည် အလုပ်လုပ်နေမှာပါ။break လုပ်ပြီးloop ကနေ ထွက်လာလဲအလုပ်လုပ်နေမှာပါ။
အားလုံးကျေးဇူးတင်ပါတယ်။