အခန်း၂ ။ Programming
ဒီအခန်းမှာတော့ Programming နဲ့ သက်ဆိုင်ရာ စဉ်းစားတွေးခေါ်ပုံတွေ ရေးပုံတွေ ကို ရေးသားသွားမှာပါ။ နောက်ပြီး ကိုယ်တိုင် စဉ်းစားပြီး ရေးရမယ့် အပိုင်းတွေ ပါပါတယ်။ Programming က သချၤာလို လက်တွေ့ လေ့ကျင့် စဉ်းစား ရပါတယ်။ စာဖတ်ရုံနဲ့ မရပါဘူး။ ကျွန်တော် ဒီ အခန်မှာ Pseudo code အကြောင်း ရေးထားပေးပြီးတော့ နောက်ပိုင်းမှာ Pseudo code က ကိုယ်ပိုင် program ကို python3 နဲ့ ပြန်ပြီး ရေးကြည့်ဖို့ လေ့ကျင့်ခန်းတွေ ပါဝင်ပါမယ်။
Pseudo
Pseudo code ဆိုတာကတော့ အတုအယောင် code ပေါ့။ programming မှာ language အမျိုးမျိုး ရှိပြီးတော့ language တစ်ခု နဲ့ တစ်ခုမှာ ပါဝင်တဲ့ function တွေ မတူပါဘူး။ ဒါကြောင့် ကျွန်တော်တို့တွေဟာ Pseudo code ကို အသုံးပြုပြီးတော့ တစ်ယောက် နဲ့ တစ်ယောက် နားလည်အောင် ရေးသားပေးကြပါတယ်။ Pseudo code ဆိုတာက ဘယ်သူ မဆို နားလည်အောင် ရေးသားထားတဲ့ language တစ်မျိုး ဖြစ်တဲ့ အတွက် ဘယ်လိုမျိုး ရေးရမယ် ဆိုတာကို အတိအကျ သတ်မှတ်ပြီး ပြောလို့ မရပါဘူး။ တချို့ကလည်း C++ style အသုံးပြုသလို တချို့ကလည်း javascript style အသုံးပြုပါတယ်။ ဒါပေမယ့် pseudo code က တကယ် run ကြည့်လို့ မရဘူး။ အသုံးပြုလို့ မရဘူး။ pseudo code ကို ပြန်ကြည့်ပြီးတော့ မိမိ နှစ်သက်ရာ language နဲ့ ပြန်ရေးပြီး run မှ သာ ရပါလိမ့်မယ်။
pseudo code ဥပမာ လေးကို ကြည့်ရအောင်
If student's grade is greater than or equal to 40
Print "passed"
else
Print “failed"
ဒီ code လေးမှာ ဆိုရင် ရေးထားတာက english လိုပါပဲ။ ကျောင်းသား ရဲ့ အမှတ်က ၄၀ ကျော်ရင် အောင် တယ်လို့ ပြမယ်။ မဟုတ်ခဲ့ရင် ကျတယ်လို့ ပြောမယ်။ ရှင်းရှင်းလေးပါပဲ။
Pseudo code မှာ ကျွန်တော်တို့
- SEQUENCE လုပ်မယ့် အလုပ် အဆင့်ဆင့် ကို ရေးသားခြင်း
- WHILE ကတော့ loop အတွက်ပါ။ ထပ်ခါ ထပ်ခါ အကြိမ်ကြိမ် လုပ်ဖို့ အတွက်ပါ။ ဘယ်အထိ လုပ်ဖို့ ဆိုတာကို စစ်ဆေးထားပြီး စစ်ဆေးတဲ့ အဆင့် မဟုတ်တော့ဘူးဆိုမှသာ looping ထဲက ထွက်ပါလိမ့်မယ်။ ဥပမာ။ ထပ်ခါ ထပ်ခါ လုပ်မယ်။ စုစုပေါင်း ရမှတ် ၁၀၀ မပြည့်မချင်း လုပ်မယ် ဆိုတာ မျိုးပေါ့။
- IF-THEN-ELSE စစ်ဆေးပြီးတော့ ဖြစ်ခဲ့ရင် ဒါလုပ် မဖြစ်ခဲ့ရင်တော့ ဒါကို လုပ်ပါ ဆိုတဲ့ condition တွေ အတွက်ပါ။
- CASE ကတော့ condition အတွဲလိုက် စစ်ဖို့ပါ။ 1 ဖြစ်ခဲ့ရင် ဒါလုပ်။ 2 ဖြစ်ခဲ့ရင် ဒါလုပ်။ ၃ ဖြစ်ခဲ့ရင် ဒါလုပ် စတာတွေ အတွက်ပါ။
- FOR ကတော့ while နဲ့ အတူတူပါပဲ။ သို့ပေမယ့် FOR ကတော့ ဘယ်ကနေ ဘယ်အတွင်း ဆိုတာ ရှိပါတယ်။ ဥပမာ ။ ထပ်ခါ ထပ်ခါ လုပ်မယ်။ ဒါပေမယ့် ၁ ကနေ ၅ အတွင်း လုပ်မယ် ဆိုတာ မျိုးပေါ့။
SEQUENCE
Programing ဆိုတာက sequential ဆိုတာကို ကျွန်တော် အခန်း ၁ မှာ ပြောခဲ့ပါတယ်။ တစ်ခုပြီးမှ တစ်ခုလုပ်မယ်။ ဒါကြောင့် Pseudo code က programming အတွက် ဖြစ်တဲ့ အတွက်ကြောင့် တစ်ဆင့်ပြီး တစ်ဆင့် သွားရပါတယ်။
ဥပမာ
READ height of rectangle
READ width of rectangle
COMPUTE area as height times width
ဒီ code လေးကို ကြည့်လိုက်တာနဲ့ ဒါဟာ area တွက်ထားတဲ့ code လေး ဆိုတာ နားလည် သွားတယ်။ height ကို လက်ခံမယ်။ width ကို လက်ခံမယ်။ ပြီးရင် height နဲ့ width ကို မြှောက်ပြီးတော့ area ရလာမယ်။
ဒါကို python နဲ့ ပြန်ရေးကြည့်ရအောင်။
height = input("Enter Height Of Rectangle: ")
width = input("Enter Width Of Rectangle: ")
area = int(height) * int(width)
print("Area is ",area)
ကျွန်တော် ရေးထားတဲ့ python code ဟာ programming မတတ်တဲ့ သူ တစ်ယောက်အတွက် ဖတ်လိုက်ရင် နားလည်ဖို့ ခက်ခဲတယ်။ Pseudo code ကတော့ ဘယ်သူ မဆို နားလည်နိုင်အောင် ရေးသားထားပါတယ်။
Input, output, processing တွေ အတွက် အောက်ပါ keyword တွေကို ကျွန်တော်တို့ အသုံးပြုပါတယ်။
- Input: READ, OBTAIN, GET
- Output: PRINT, DISPLAY, SHOW
- Compute: COMPUTE, CALCULATE, DETERMINE
- Initialize: SET, INIT
- Add one: INCREMENT, INCREASE, DECREMENT , DECREASE
စတာတွေကို အသုံးပြုနိုင်ပါတယ်။
Flow Chart
Programming ကို လေ့လာရာမှာ အခြေခံ အနေနဲ့ Pseudo code အပြင် Flow chart ကို ပါ သိထားသင့်တယ်။ အခုအချိန်ထိ coding အကြောင်းကို ကျွန်တော် မရေးသေးပါဘူး။ အခြေခံ အဆင့်တွေ ဖြစ်တဲ့ Flow Chart , Pseudo စတာတွေ ကို နားလည် သွားတဲ့ အခါမှာ programming ကို လွယ်လင့် တကူ စဉ်းစားနိုင်အောင် အထောက် အကူပြုနိုင်ပါတယ်။
Flow Chart ဆိုတာကိုတော့ ကျွန်တော်တို့ တွေ ဘာပြီး ရင် ဘာလုပ်မယ် ဆိုတာကို အဆင့်ဆင့် ပုံတွေနဲ့ ဆွဲပြထားပါတယ်။ Flow Chart ဆွဲရာမှာ သက်ဆိုင်ရာ သတ်မှတ် ချက်တွေ ရှိပါတယ်။ အရင်ဆုံး ဘယ်ပုံတွေက ဘာကို ကိုယ်စားပြုတယ်ဆိုတာကို အောက်မှာ ဖော်ပြထားပါတယ်။
Terminal
Flowchart အစ သို့မဟုတ် အဆုံး စသည့် နေရာတွေ မှာ အသုံးပြုပါတယ်။
အစကို Start , Begin စသည်ဖြင့် အသုံးပြုပါတယ်။
အဆုံးကို တော့ End , Exit, Return တွေကို အသုံးပြုပါတယ်။
Lines with Arrows
တစ်ခုကနေ နောက်တစ်ခုကို သွားဖို့ ညွှန်ပြုထားတာပါ။ ဒါအဆင့် ပြီးရင် ဘယ်ကို သွားမလဲ ဆိုတာကို ညွှန်ပြုထားပါတယ်။
Line တွေ ဆွဲတဲ့ အခါမှာ cross ဖြစ်နေရင် မျဉ်းကို မဖြတ်သွားပဲ အခုလို ဂငယ် ပုံလေးနဲ့ ဆွဲပါတယ်။
Rectangle
Flowchart မှာ စတုဂံတွေကို process, task, action, operation စသည့်အတွက် အသုံးပြုပါတယ်။ စတုဂံပုံဟာ action တစ်ခုခုလုပ်ဖို့ တစ်ခုခုပြီးမြောက်ဖို့အတွက် ညွှန်ပြထားပါတယ်။
Flowchart မှာ စတုဂံတွေကို process, task, action, operation စသည့်အတွက် အသုံးပြုပါတယ်။ စတုဂံပုံဟာ action တစ်ခုခုလုပ်ဖို့ တစ်ခုခုပြီးမြောက်ဖို့အတွက် ညွှန်ပြထားပါတယ်။
Decision
အသုံးပြုသူကို မေးခွန်းမေးပြီးတော့ အဖြေပေါ်မှာ မူတည်ပြီး အလုပ်လုပ်စေချင်တဲ့အခါမှာ decision ကို အသုံးပြုရပါတယ်။ input တစ်ခု ဝင်ပြီးတော့ output မှာ YES,NO ဖြစ်ပါတယ်။ ဒါဖြစ်ခဲ့ရင် ဒါလုပ်။ မဟုတ်ခဲ့ရင် ဘာလုပ် စသည်အတွက် အသုံးပြုနိုင်ပါတယ်။
တစ်ခါတစ်လေ တစ်ခုထက် မက ဖြစ်နိုင်တဲ့ အဖြေတွေ အတွက်လည်း အသုံးပြုပါတယ်။
Circle
Flow chat က အရမ်းရှည်သွားရင် သီးသန့် ဆွဲဖို့အတွက် circle ကို အသုံးပြုပါတယ်။ flow chart တစ်ခုနဲ့ တစ်ခုကို connect လုပ်ထားတယ်ဆိုတာကို ဖော်ပြထားသည့် သဘောပါ။ Circle အတွင်းမှာ နာမည်ပါဝင်ပါတယ်။
B မှာ ဆုံးသွားပြီးတော့ တဖက်မှာ B နဲ့ပြန်စထားပါတယ်။
Input/Output
User ဆီကနေ Data ကို လက်ခံတော့မယ်ဆိုရင်တော့ အနားပြိုင် စတုဂံ ကို အသုံးပြုပါတယ်။
ပုံမှန် အခြေခံ အားဖြင့် Flow chart အတွက် ဒါလေးတွေ သိထားရင် လုံလောက်ပါတယ်။ ကျွန်တော်တို့ Example တွေ နဲ့ တချက်ကြည့်ရအောင်။
Flowchart with codes
ကျွန်တော်တို့ အနေနဲ့ အထက်ပါ symbols တွေကို နားလည် ထားဖို့ လိုအပ်ပါတယ်။ သို့မှသာ flowchart ကို ကြည့်ရုံနှင့် ဘယ်အဆင့်တွေပါသလဲ ၊ ဘာတွေလုပ်ရမလဲ ၊ code ဘယ်လိုရေးရမလဲ စတာတွေကို နားလည်ပါလိမ့်မယ်။ Flowchart ကို code မရေးခင် ဦးစွာ ရေးဆွဲပြီး မိမိ ရေးမယ့် system အကြောင်းကို နားလည် စေပါလိမ့်မယ်။
Hello World
Programming ကို စလိုက်တိုုင်း ပထမဆုံး ရေးသားကြတဲ့ code ကတော့ Hello World ပါပဲ ။ Screen ပေါ်မှာ ဘယ်လိုပေါ်အောင် ဖန်တီးရမယ် ဆိုတာရဲ့ အစပါပဲ။
Pseudo code နဲ့ ဆိုရင်တော့
print("Hello World”)
Flow chart နဲ့ ဆိုရင်တော့
Python နဲ့ဆိုရင်တော့
print("Hello World”)
What is your name
အခု ကျွန်တော်တို့ user ကို နာမည် ဘယ်လို ခေါ်လဲ မေးမယ်။ ပြီးရင် user ဆီကနေ ပြီးတော့ လက်ခံမယ်။ နာမည်ကို ရိုက်ထည့်ပြီးတာနဲ့ Your name is ဆိုပြီး နာမည်ကို ထုတ်ပြမယ်။
အရင်ဆုံး flow chart ကို ကြည့်ပါ။
ပြီးရင် flow chart အတိုုင်း code ကို ရေးထားပါတယ်။
username = input("What is your name ? : ")
print("Your name is ",username)
အဲဒီ code ကို run လိုက်ရင် နာမည်အရင်မေးပါတယ် ပြီးတော့ ထည့်လိုက်သည့် စာ ကို ပြန်ပြီး တော့ ဖော်ပြပေးပါတယ်။
Sum
အခု ကျွန်တော်တို့တွေ user ဆီကနေ ကိန်း ၂ ခု ကို လက်ခံမယ်။ ပြီးရင် ပေါင်းမယ်။ ပေါင်းပြီး ရလာတဲ့ အဖြေကို ပြပေးမယ်။ Flowchart ကို ဦးစွာကြည့်လိုက်ပါ။
အခု ကျွန်တော်တို့တွေ user ဆီကနေ ကိန်း ၂ ခု ကို လက်ခံမယ်။ ပြီးရင် ပေါင်းမယ်။ ပေါင်းပြီး ရလာတဲ့ အဖြေကို ပြပေးမယ်။
Flow chat ထဲမှာ ပြထားသလို လွယ်လွယ်လေးပါပဲ။
x = input("Enter first value : ")
y = input("Enter second value : ")
print("X + Y = ", x + y)
ဒီ code မှာ ဆိုရင် ကိန်း ၂ လုံးကို ပေါင်းပေမယ့် စာလုံး ၂ လုံး ပေါင်းတာဖြစ်နေတာ ကို တွေ့ရပါလိမ့်မယ်။ ဥပမာ ၅ နဲ့ ၆ ထည့်လိုက်ရင် ၅၆ ထွက်လာပါလိမ့်မယ်။
ကျွန်တော်တို့တွေ အနေနဲ့ နံပတ်ကို လက်ခံမယ်ဆိုတဲ့ အတွက်ကြောင့် အောက်ကလို ပြောင်းရေးပါတယ်။
x = input("Enter first value : ")
y = input("Enter second value : ")
try :
x = int(x)
y = int(y)
print("X + Y = ",x + y)
except ValueError:
print("Please enter number only")
အခု code မှာ try , except ဆိုတာကို တွေ့ပါလိမ့်မယ်။ try ထဲမှာ Error တစ်ခုခု ဖြစ်တာနဲ့ except ကို ရောက်လာပါမယ်။ အခု code ထဲမှာ int ပြောင်းထားတဲ့ နေရာမှာပဲ ပြဿနာ ဖြစ်နိုင်ပါတယ်။ ဒါကြောင့် except ValueError: ကို အသုံးပြုထားတာပါ။
အခု ကုဒ်မှာ သတိထားရမှာကတော့ tab တွေပါပဲ။ python ရေးသည့် အခါမှာ block structure ဖြစ်အောင် ရေးသားထားတာကို တွေ့နိုင်ပါတယ်။ try : ပြီးတော့ နောက်လိုင်းမှာ tab တစ်ဆင့် ခံ ထားတာကို တွေ့နိုင်ပါလိမ့်မယ်။ try block အောက်မှာ ဆက်ပြီး ကုဒ်က အလုပ်လုပ်မယ် ဆိုသည့် သဘောပါ။
try :
x = int(x)
y = int(y)
အထက်ပါ ကုဒ် က အလုပ်မလုပ် ပါဘူး။
Tab ထည့်ထားသည့် ကုဒ်မှ သာ အလုပ်လုပ် မယ်ဆိုတာကို သတိပြုဖို့ လိုပါတယ်။
try :
x = int(x)
y = int(y)
Tab ထည့်ထားသည့် အထက်ပါ ကုဒ်မှ သာ run သည့် အခါမှာ error မတက်ပဲ အလုပ်လုပ်ပါလိမ့်မယ်။
Condition
ဒါမှမဟုတ်ခဲ့ရင် ဒါလုပ်မယ် စသည်ဖြင့် အခြေအနေကို စစ်သည့်အရာတွေ အတွက် ကျွန်တော်တို့တွေ if , switch စတဲ့ syntax ကို အသုံးပြုရပါတယ်။ သို့ပေမယ့် Python မှာ switch ကို support မလုပ်ပါဘူး။
အခု ကျွန်တော်တို့ သုည ဆီက ဂဏန်း ၂ ခု ကို လက်ခံမယ်။ ကိန်း ၂ ခု ကို စားမယ်။ ဒုတိယ ကိန်း က သုညဖြစ်နေရင် အသုံးပြုသူကို သုည ထည့်လို့ မရဘူးဆိုရင် error message ပြမယ်။
Pseudo code အရ ဆိုရင်တော့
Print "Enter First Number"
READ firstnum
Print "Enter Second Number"
READ secondnum
if secondnum is less than or equal zero
Print "Second number must be greater than zero"
else
Print firstnum + "divied by " + secondnum
Print firstnum/secondnum
flowchart ကို ကြည့်ရအောင်။
Python ကို အောက်မှာ ကြည့်ရအောင်
firstnum = input("Enter First Number ? : ")
secondnum = input("Enter Second Number ? : ")
try :
firstnum = int(firstnum)
secondnum = int(secondnum)
if secondnum <= 0 :
print ("Second number must be greater than 0")
else:
print (firstnum, " divied by ",secondnum)
print (firstnum/secondnum)
except ValueError:
print ("Please enter number only")
အခု code မှာ ဒါမဟုတ်ခဲ့ရင် ဒါလုပ်ဆိုတာပဲ ရှိပါသေးတယ်။ ကျွန်တော်တို့တွေ တစ်ခု ထက် မက condition တွေကို စစ်နိုင်ပါတယ်။ အဲဒီ အတွက် pseudo code နဲ့ flow chart ကိုတော့ မဆွဲပြတော့ပါဘူး။ အောက်က python code လေးကို တချက်လောက် လေ့လာကြည့်ပါ။
firstnum = input("Enter First Number ? : ")
secondnum = input("Enter Second Number (between 1-10) ? : ")
try :
firstnum = int(firstnum)
secondnum = int(secondnum)
if secondnum <= 0 :
print ("Second number must be greater than 0")
elif secondnum < 1 or secondnum > 10 :
print ("Second number must be between 1-10")
else:
print (firstnum, " divied by ",secondnum)
print (firstnum/secondnum)
except ValueError:
print ("Please enter number only")
Calculator
အခု ကျွန်တော်တို့တွေ အပေါင်း အနှုတ် အမြှောက် အစား လုပ်တဲ့ calculator လေး တစ်ခု ရေးရအောင်။
အရင်ဆုံး Pseudo code စရေးပါမယ်။
Print "Enter First Number"
READ firstnum
Print "Enter Operator (+,-,*,/)"
READ operator
Print "Enter Second Number"
READ secondnum
output = true
if operator is + then
result = firstnum + secondnum
else if opeartor is - then
result = firstnum - secondnum
else if opeartor is * then
result = firstnum * secondnum
else if operator is / then
result = firstnum/secondnum
else
Print "Wrong Operator"
output = false
if output == true
Print "Result is " , result
Code က တော့ ရှင်းရှင်းလေးပါ။ ကျွန်တော်တို့တွေ နံပတ် ၂ ခု လက်ခံမယ်။ ပြီးရင် Operator ကို လက်ခံမယ်။ operator ပေါ်မှာ မူတည်ပြီးတော့ result ကို ထုတ်ပြမယ်။
Operator က + - * / ထဲက မဟုတ်ရင် မထုတ်ပြပါဘူး။ အဲဒီ အတွက် ကျွန်တော်တို့တွေ boolean variable ကို အသုံးပြုပါတယ်။ output ကို ထုတ်ပြမယ် ဆိုပြီး output = true ဆိုပြီး ရေးထားတာပါ။ ဒါပေမယ့် Operator မှားနေရင် result ကို ထုတ်ပြလို့ မရတော့ပါဘူး။ ဒါကြောင့် false ပြောင်းလိုက်တာ ကို တွေ့ရပါလိမ့်မယ်။
Python နဲ့ရေးကြည့်ရအောင်။
x = input("Enter first value : ")
y = input("Enter second value : ")
op = input("Operator (+ - * /) : ")
try :
x = int(x)
y = int(y)
output = True
if op == "+" :
result = x+y
elif op == "-" :
result = x-y
elif op == "*" :
result = x*y
elif op == "/" :
result = x/y
else :
output = False
print("Wrong Operator")
if output :
print("Result is ",result)
except ValueError:
print("Please enter number only")
print(ValueError);
Pseudo code အတိုင်းပါပဲ။ boolean value ကို true ဖြစ်မဖြစ် ကို output == True နဲ့ စစ်မနေတော့ပါဘူး။ if condition က true နဲ့ false အတွက်ပါပဲ။ output က true value ဆိုရင် အလုပ်လုပ်မယ်။ false value ဆိုရင် အလုပ်မလုပ်ပါဘူး။
လေ့ကျင့်ခန်း ၂ - ၁
မေးခွန်း ၁။
x = input("Enter first value : ")
y = input("Enter second value : ")
op = input("Operator (+ - * /) : ")
try :
x = int(x)
y = int(y)
output = True
if op == "+" :
result = x+y
elif op == "-" :
result = x-y
elif op == "*" :
result = x*y
elif op == "/" :
result = x/y
else :
output = False
print("Wrong Operator")
if output :
print("Result is ",result)
except ValueError:
print("Please enter number only")
print(ValueError);
အထက်တွင် ဖော်ပြထားသော Calculator code ကို flow chart ဆွဲပါ။
Looping
Looping ဆိုတာကတော့ ထပ်ခါ ထပ်ခါ လုပ်တဲ့ အခါတွေ မှာ အသုံးပြုပါတယ်။
ဥပမာ ၀ ကနေ ၉ အထိ ကို ထုတ်ပြချင်တယ်။ ဒါဆိုရင်တော့ print ၁၀ ကြောင်းရေးရပါမယ်။ ဒါမှမဟုတ် ၅ ကနေ ၉ အထိ ထုတ်ပြချင်ရင်တော့ ၄ ခါ ရေးရမယ်။
တစ်ခါတစ်လေ user ဆီကနေ နောက်ဆုံး ဂဏန်းကို လက်ခံပြီး အဲဒီ အကြိမ် အရေ အတွက် လိုက် ထုတ်ပြရမယ်။ အဲဒီ အခါမှာ ကျွန်တော်တို့တွေ print ဘယ်နှစ်ကြိမ် ရိုက်ထုတ်ပြရမယ်ဆိုတာကို မသိတော့ဘူး။ အဲဒီလို အခြေအနေတွေ အတွက် Looping ကို အသုံးပြုနိုင်ပါတယ်။
Looping အမျိုးစားက ပုံမှန်အားဖြင့်
- For Loop
- While Loop
- Do While Loop
ဆိုပြီး ၃ မျိုး ရှိပါတယ်။ Python မှာတော့ Do While Loop ကို support မလုပ်ထားပါဘူး။
For Loop
အကြိမ် အရေ အတွက် အတိအကျ ရှိတယ်ဆိုရင်တော့ For Loop ကို အသုံးပြုနိုင်ပါတယ်။ ဘယ်ကနေ ဘယ်ကနေ စပြီး ဘယ် အထိ သိတယ်ဆိုရင်တော့ For Loop ကို အသုံးပြုနိုင်ပါတယ်။
# will print 0 to 9
for i in range(10):
print(i)
print("----")
# will print 5 to 9
for i in range(5,10):
print (i)
အဲဒီ code လေးကို run လိုက်ရင်တော့
0
1
2
3
4
5
6
7
8
9
----
5
6
7
8
9
ဆိုပြီး ထွက်လာပါမယ်။
range(10) ဆိုတာကတော့ 0 ကနေ 9 အထိ လုပ်မယ် လို့ ဆိုပါတယ်။ range(5,10) ကတော့ 5 ကနေ 9 အထိ အလုပ်လုပ်မယ် လို့ဆိုတာပါ။
အထက်ပါ code အတိုင်းက for နဲ့ loop ပတ်ပြီးတော့ value တွေက i ထဲကို ဝင်သွားတာကို တွေ့နိုင်ပါတယ်။
While Loop
အကြိမ်အရေအတွကို ကျွန်တော်တို့ မသိဘူး ဒါမှမဟုတ် condition တစ်ခုခု ကို ထားပြီးတော့ loop လုပ်မလား မလုပ်ဘူးလား ဆိုတာကို သိချင်တဲ့ အခါမှာတော့ While Loop ကို အသုံးပြုလို့ရပါတယ်။
count = 0
while (count < 9):
print('The count is:', count)
count = count + 1
ထွက်လာသည့် ရလာဒ်ကတော့
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
အထက်ပါ code လေး အတိုင်းဆိုရင်တော့ while (count < 9): ဖြစ်သည့် အတွက်ကြောင့် 0 ကနေ 8 အထိ ကို ထုတ်ပြပါလိမ့်မယ်။
While Loop ကို ပိုရှင်းသွားအောင် Flow Chart လေးကို ကြည့်ကြည့်ပါ။
condition က မှန်နေသ၍ ဒါကို ထပ်ခါ ထပ်ခါ လုပ်နေမယ်လို့ ဆိုတာပါ။
ဥပမာ။။ ကျွန်တော်တို့ User ဆီကနေ 0 ကနေ 9 အတွင်း နံပတ် တောင်းတယ်။ 0 ကနေ 9 အတွင်း ဂဏန်း မဟုတ်သ၍ ကျွန်တော်တို့တွေ user ဆီကနေ တောင်းနေမှာပဲ။ အဲဒီလိုမျိုး အကြိမ်အရေအတွက် အတိအကျ မရှိတဲ့ Looping တွေအတွက် while loop ကို အသုံးပြုပါတယ်။
While Loop အသုံးပြုပုံ ဥပမာလေး အောက်က code ကို ကြည့်ပါ။
x = False
while x == False :
value = input("Enter the number between 0 and 9: ")
try:
value = int(value)
if value > 9:
print("Your value is over 9")
elif value < 0:
print("Your value is less than 0")
else:
print("Your number is ",value)
x = True
except ValueError:
print("Please enter the number between 0 and 9")
ဒီ code လေးကို စစ်ကြည့်လိုက်ရင် while loop က ဘယ်လို နေရာတွေ မှာ အသုံးဝင် သလဲ ဆိုတာကို တွေ့နိုင်ပါတယ်။
Do While Loop
Do while loop က while loop လိုပါပဲ။ ဒါပေမယ့် အနည်းဆုံး တစ်ကြိမ် အလုပ်လုပ်ပါတယ်။ Flowchart ကို ကြည့်ရင် ရှင်းပါလိမ့်မယ်။
Python မှာကတော့ do while loop အတွက် သီးသန့် looping မရှိပါဘူး။
ဒါကြောင့် Java code လေး ကို ကြည့်ကြည့်ပါ။
int count = 1;
do {
System.out.println("Count is: " + count);
count = count + 1;
} while (count < 11);
System.out.println
က python က print နဲ့တူပါတယ်။
အဲဒီ code မှာဆိုရင်တော့ Count is 1 ကို အရင်ဆုံး ထုတ်ပြပါတယ်။ ပြီးတော့ count ကို ၁ တိုးတယ်။ တိုးပြီးမှ count က ၁၁ ထက် ငယ်နေလား ဆိုပြီး စစ်ပါတယ်။
Python နဲ့ အနီးစပ် ဆုံး ရေးပြရရင်တော့
count = 1
print('The count is:', count)
count = count + 1
while (count < 11):
print('The count is:', count)
count = count + 1
code ကို run ကြည့်ရင်တော့
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
The count is: 9
The count is: 10
ဆိုပြီး ထွက်လာပါမယ်။
အခု ကျွန်တော်တို့တွေ အောက်ကလိုမျိုး ပုံလေး ထုတ်ကြည့်ရအောင်
*
**
***
****
*****
ကျွန်တော်တို့ တစ်ကြောင်းဆီ ရိုက်ထုတ်မယ် ဆိုရင် ရပါတယ်။ ဒါပေမယ့် Looping နဲ့ ပတ်ပြီး ထုတ်ကြည့်ရအောင်။
ပထမဆုံးအဆင့်က Looping ဘယ်နှစ်ကြိမ် ပတ်ရမလဲဆိုတာကို စဉ်းစားဖို့ လိုတယ်။
1. *
2. *
3. *
4. *
5. *
ဒေါင်လိုက်က ငါးခါ ပတ်ရမယ်။ ဒီတော့
for x in range(5):
print("*")
*
*
*
*
*
Loop ၅ ခါ ပတ်ပြီးတော့ print ထုတ်လိုက်တယ်။ * ငါးလိုင်းတော့ ရပြီ။
အလျားလိုက်က တစ်ခါ။ ဒေါင်လိုက်က တစ်ခါ ဆိုတော့ looping ၂ ခါ ပတ်ရမယ်။
for x in range(5):
for k in range(5):
print("*", end=“")
*************************
ဒီ code လေးမှာ print("*", end="")
ဆိုပြီး ပါပါတယ်။ ပုံမှန် print("*")
ဆိုရင် တစ်ခါ ထုတ်ပြီးတိုင်း တစ်လိုင်း ဆင်းသွားတယ်။ နောက်တစ်လိုင်းကို မဆင်းသွားစေချင်သည့် အတွက်ကြောင့် print("*", end="")
ဆိုပြီး အသုံးပြုတာပါ။
print("*")
က print("*", end="\n")
နဲ့ တူပါတယ်။ print("*", end="")
ဖြစ်သည့် အတွက်ကြောင့် print ထုတ်ပြီးတော့ နောက်တစ်လိုင်း မဆင်းသွားတော့ပါဘူး။
for x in range(5):
for k in range(5):
print("*", end="")
print("")
*****
*****
*****
*****
*****
အတွင်းဘက်မှာ ရှိသည့် looping ပြီးသွားတိုင်း လိုင်းတစ်ကြောင်း ဆင်းစေချင်သည့် အတွက်ကြောင့် print("")
ကို ရေးထားတာပါ။
အခု ကျွန်တော်တို့ လေးထောင့်ပုံစံတော့ ရနေပြီ။ တြိဂံ ပုံစံ ရအောင် စဉ်းစားဖို့လိုပါတယ်။
ပထမ အကြိမ်မှာ ၁ ခါ။ ဒုတိယ အကြိမ်မှာ ၂ ခါ ဖြစ်နေတယ်။ ဒါကြောင့် အတွင်း loop ကို ပြင်ရမယ်။ x က 1 ဖြစ်ရင် * ကို တစ်ခါပဲ ပြ။ 2 ဖြစ်နေရင် * ကို နှစ်ခါပြ။ * ပြရမှာက x နဲ့ တိုက်ရိုက် ဆိုင်နေပါတယ်။ ဒါကြောင့် code ကို ထပ်ပြင်ပါမယ်။
for x in range(5):
for k in range(x):
print("*", end="")
print("")
*
**
***
****
အခုတော့ တြိဂံ ပုံပြနေပြီ။ သို့ပေမယ့် ထိပ်ဆုံး အကြိမ်မှာ empty ဖြစ်နေတာကို တွေ့မိမှာပါ။
ဘာဖြစ်လို့လည်းဆိုတော့ အတွင်း loop က range(0) ဖြစ်နေသည့် အတွက်ကြောင့် ပထမ အကြိမ်မှာ အတွင်း loop ကို မပတ်ပါဘူး။ ဒါကြောင့် 0 အစား 1 ကနေ စပြီး ပတ်ပါမယ်။
for x in range(1,6):
for k in range(x):
print("*", end="")
print("")
*
**
***
****
*****
အခု ဆိုရင် ကျွန်တော်တို့လိုချင်သည့် တြိဂံ ပုံ ရသွားပါပြီ။
လေ့ကျင့်ခန်း ၂ - ၂
မေးခွန်း ၁။
total = 0;
for x in range(10):
total = total + x
print(total)
program ကို run လိုက်ရင် Total က
A. 0 B. 10 C. 45 —
မေးခွန်း ၂။
total = 0;
for x in range(10):
total = total + 1
print(total)
program ကို run လိုက်ရင် Total က
A. 0 B. 10 C. 45 —
မေးခွန်း ၃။
range(5) ဆိုရင်
A. 0 ကနေ 5 ထိ B. 0 ကနေ 4 ထိ C. 1 ကနေ 5 ထိ D. 1 ကနေ 4 ထိ —
မေးခွန်း ၄။
While loop က အနည်းဆုံး တစ်ကြိမ် အလုပ်လုပ်တယ်။
A. မှန် B. မှား —
မေးခွန်း ၅။
While loop အသုံးပြုဖို့ အခေါက် အရေအတွက် အတိအကျ ရှိရမယ်။
A. မှန် B. မှား —
မေးခွန်း ၆။
Fibonacci program လို့ ခေါ်ရအောင်။ ကျွန်တော်တို့တွေ user ဆီက နံပတ် လက်ခံမယ်။ နံပတ် က 5 ဖြစ်ရင် Fibonacci sequence အရ နံပတ် ၅ ခု ထုတ်ပြမယ်။
1 1 2 3 5
7 ဖြစ်ခဲ့ရင်တော့
1 1 2 3 5 8 13
လို့ ထုတ်ပြမယ်။
Fibonacci sequence ဆိုတာကတော့ ရှေ့က နံပတ် ၂ ခု ကို ပေါင်းပြီးတော့ နောက်ထပ် ဂဏန်း တစ်ခု ရပါတယ်။
—
မေးခွန်း ၇။
Even/odd စစ်ထုတ်တဲ့ program ပါ။ user ဆီကနေ ဂဏန်း လက်ခံမယ်။ ပြီးရင် 1 ကနေ စပြီးတော့ even ဖြစ်လား odd ဖြစ်လား ဆိုပြီး ထုတ်ပြရမယ်။
ဥပမာ user က 3 လို့ ရိုက်လိုက်ရင်
1 is Odd
2 is Even
3 is Odd
ဆိုပြီး ထုတ်ပြမယ်။
တကယ်လို့ 5 လို့ ရိုက်လိုက်ရင်
1 is Odd
2 is Even
3 is Odd
4 is Even
5 is Odd
ဆိုပြီး ထုတ်ပြရပါမယ်။
Array ဆိုတာ ဘာလဲ ?
Array ဆိုတာကတော့ variable တွေ အများကြီးကို သိမ်းထားတဲ့ variable တစ်ခုပါပဲ။ Array က variable တွေကို အခန်းနဲ့ သိမ်းပါတယ်။ နားလည်အောင် ပြောရရင်တော့ variable ဆိုတာက ရေခွက် တစ်ခု ဆိုပါတော့။ အဲဒီ ရေခွက်ကို ခဲလိုက်ရင် ရေခဲ တစ်ခုပဲ ရမယ်။ Array ဆိုတာကတော့ ရေခဲ ခဲတဲ့ ခွက် (ice cube trays) နဲ့တူပါတယ်။ ရေခဲ ခဲ ဖို့ အတွက် အကန့်လေးတွေ ပါတယ်။ ရေခဲခဲ လိုက်ရင် တစ်ခု ထက် မက ၊ အခန်း ရှိသလောက် ရေခဲ ရနိုင်ပါတယ်။
Array က အဲဒီလိုပါပဲ။ ကျွန်တော်တို့ computer memory ပေါ်မှာ သိမ်းဖို့ အတွက် အခန်းလေးတွေ ယူလိုက်တယ်။ ပြီးတော့ အခန်းတွေ ထဲမှာ variable တွေ ထည့်ပြီး သိမ်းတယ်။ String array ဆိုရင်တော့ String value တွေ ပဲ ထည့်တဲ့ အခန်းပေါ့။ Integer array ဆိုရင်တော့ Integer value တွေပဲ ထည့်တဲ့ အခန်းတွေပေါ့။
အခန်းတွေကို ရေတွက်တဲ့ အခါမှာတော့ သုည ကနေ စပါတယ်။ အခန်း ၃ ခန်း ရှိရင်တော့ 0,1,2 ဆိုပြီး ရေတွက်ပါတယ်။
ဥပမာ code လေးကို ကြည့်ရအောင်
list = [1,5,2,7,8,9,200,155]
# First Room
print(list[0])
# 9 will show
print(list[5])
# Last Room
print(list[7])
1
9
155
ဒီ code လေးမှာ ကျွန်တော်တို့တွေ # ဆိုတာလေး တွေ့နိုင်ပါတယ်။ Comment အနေနဲ့ အသုံးပြုပါတယ်။ Comment ဆိုတာကတော့ မိမိ နှစ်သက်ရာ စာရေးပြီးတော့ မှတ်သားထားသည့် သဘောမျိုးပါ။ code အနေနဲ့ ပါဝင်ခြင်း မဟုတ်ပဲ remark သဘောမျိုးအနေနဲ့ ရေးသားခြင်းပါ။ အခု code မှာ ဆိုရင်တော့ # First Room
ဆိုတာကတော့ အောက်က code က ပထမ အခန်းကို ခေါ်တယ်ဆိုတာ သိအောင် ပြန်ရှင်းပြထားပေးသည့် သဘောပါ။
Comment ကို ရေးသားထားခြင်းဖြင့် နောင်တချိန် code တွေ ပြန်ဖတ်သည့် အခါမှာ ဘာလို့ ဒီလို ရေးသားထားသည် ကို နားလည် စေပါတယ်။ code ကို အခြား လူတစ်ယောက် က ဖတ်ကြည့်သည့် အခါမှာ ဘာအတွက် ရေးသားထားသည် ဆိုတာကို နားလည်စေချင်သည့် အခါမှာလည်း ထည့်သွင်းရေးသားပါသည်။ အခု code လေးကို ပြန်ပြီး ရှင်းပြပါမယ်။
အထက်ပါ code မှာဆိုရင် အခန်းပေါင်း 8 ခန်း ရှိပါတယ်။ အခန်း တစ်ခုခြင်းဆီမှာ နံပတ်တွေ ထည့်ထားပါတယ်။
ပထမ အခန်းကို လိုချင်တဲ့ အခါမှာ list[0] လို့ ဆိုပြီး ခေါ်သုံးထားပါတယ်။ အခြား အခန်းတွေ ကိုတော့ နံပတ်လိုက် ခေါ်ထားတာကို တွေ့နိုင်ပါတယ်။
list = [1,5,2,7,8,9,200,155]
#Total Room
print("Total room in array is",len(list))
Total room in array is 8
ဒီ code မှာဆိုရင်တော့ Array တစ်ခုမှာ အခန်း ဘယ်လောက်ရှိလဲဆိုတာကို ထုတ်ပြထားတာပါ။
ကျွန်တော်တို့တွေ ထပ်ပြီးတော့ အခန်းထဲမှာ ရှိတဲ့ data တွေကို looping ပတ်ပြီး ထုတ်ကြည့်ရအောင်။
list = [1,5,2,7,8,9,200,155]
for i in range(len(list)):
print(list[i])
1
5
2
7
8
9
200
155
နောက်ထပ် တဆင့် အနေနဲ့ အခန်းထဲမှာရှိတဲ့ နံပတ်တွေ အားလုံးပေါင်း ရလဒ်ကို ထုတ်ကြည့်ရအောင်
list = [1,5,2,7,8,9,200,155]
x = 0
for i in range(len(list)):
x = x + list[i]
print("Total:",x)
Total: 387
ကျွန်တော်တို့တွေ array အတွက် loop ကို အောက်က code လိုမျိုး python မှာ loop ပတ်လို့ရပါတယ်။ တခြား langauge တွေမှာ ဆိုရင်တော့ for each loop လို့ခေါ်ပါတယ်။
list = [1,5,2,7,8,9,200,155]
x = 0
for i in list:
x = x + i
print("Total:",x)
Total: 387
အဓိပ္ပာယ်ကတော့ array အခန်းတွေက အစကနေ အဆုံး ထိ loop ပတ်မယ်။ ရောက်နေတဲ့ index ထဲက data ကို i ထဲကို ထည့်မယ်။ အဲဒီ code မှာ ကျွန်တော်တို့တွေ လက်ရှိ index ကို မသိနိုင်ပါဘူး။ for each loop ပတ်တဲ့ အခါမှာ လက်ရှိ index ပါ သိအောင် အောက်က code လိုမျိုး ရေးလို့ရပါတယ်။
list = [1,5,2,7,8,9,200,155]
for (i,item) in enumerate(list):
print("Index :",i,"And Value :",item)
Index : 0 And Value : 1
Index : 1 And Value : 5
Index : 2 And Value : 2
Index : 3 And Value : 7
Index : 4 And Value : 8
Index : 5 And Value : 9
Index : 6 And Value : 200
Index : 7 And Value : 155
Immutable And Mutable
Array မှာ ၂ မျိုး ရှိတယ်။ မပြောင်းလို့ရတဲ့ Array နဲ့ ပြောင်းလဲလို့ရတဲ့ Array Type ၂ ခု ရှိပါတယ်။
Python မှာကတော့ tuple နဲ့ list ဆိုပြီး ၂ မျိုး ရှိတယ်။
tuple ကို လက်သည်းကွင်း နဲ့ ရေးပြီးတော့ list ကိုတော့ လေးထောင့် ကွင်းနဲ့ ရေးပါတယ်။
t = (1,2,3) # immutable
l = [1,2,3] # mutable
Tuple နဲ့ ရေးထားရင်တော့ အခန်း တွေကို ပြောင်းလဲလို့ မရပါဘူး။ ဒါပေမယ့် list ကတော့ အခန်းထဲက data တွေကို ပြောင်းလို့ ရသလို အခန်း အသစ်တွေ ထည့်တာ ဖျက်တာ စတာတွေကို လုပ်လို့ရပါတယ်။
Finding Max Number
အခု ကျွန်တော်တို့တွေ array အခန်းထဲက အကြီးဆုံး ဂဏန်းကို ရှာတဲ့ code လေး ရေးကြည့်ရအောင်။
list = [1048,1255,2125,1050,2506,1236,2010,1055]
maxnumber = list[0]
for x in list:
if maxnumber < x :
maxnumber = x
print("MAX number in array is",maxnumber)
ဒီ code လေးကို ကြည့်ကြည့်ပါ ရှင်းရှင်းလေးပါ။ ပထမဆုံး အခန်းကို အကြီးဆုံးလို့ သတ်မှတ်လိုက်တယ်။ ပြီးရင် အခြား အခန်းတွေနဲ့ တိုက်စစ်တယ်။ ကြီးတဲ့ ကောင်ထဲကို maxnumber ဆိုပြီး ထည့်ထည့်သွင်းထားတယ်။
နောက်ဆုံး looping ပြီးသွားရင် အကြီးဆုံး ဂဏန်းကို ကျွန်တော်တို့တွေ သိရပြီပေါ့။
လေ့ကျင့်ခန်း ၂-၃
မေးခွန်း ၁။
Max Number လိုမျိုး အငယ်ဆုံး ဂဏန်းကို ရှာတဲ့ code ရေးကြည့်ပါ။
မေးခွန်း ၂။
list = [1,5,2,7,8,9,200,155]
print(len(list))
အဖြေသည်
A. ၉ B. ၈ C. ၇
မေးခွန်း ၃။
Array [3,4,1,2,9,7] ဆိုပြီး ရှိပါသည်။ user ဆီက နံပတ်ကို လက်ခံပြီး array အခန်းထဲတွေ တွေ့မတွေ့ user ကို print ထုတ်ပြပါမည်။ တွေ့ခဲ့ပါက အခန်း ဘယ်လောက်မှာ တွေ့ခဲ့သည်ကို print ထုတ်ပြပါမည်။
မေးခွန်း ၄။
Max number ကို ရှာပါ။ ဘယ်နံပတ်က အကြီးဆုံးလဲ။ ဘယ်အခန်းမှာ ရှိတာလဲ ဆိုတာကို print ရိုက် ပြပါ။
Function
ကျွန်တော်တို့တွေ programming နဲ့ပတ်သက်ပြီးတော့ အတော်လေးကို သိပြီးပါပြီ။ အခု အပိုင်းမှာတော့ function အကြောင်းကို ပြောပြပါမယ်။ ကျွန်တော်တို့ ထပ်ခါထပ်ခါ ခေါ်လုပ်နေရတဲ့ ကိစ္စတွေမှာ ကျွန်တော်တို့တွေ looping သုံးခဲ့ပါတယ်။ အဲလိုပါပဲ code တွေ ထပ်နေရင် ဒါမှမဟုတ် ပိုပြီးတော့ အဓိပ္ပာယ် ပြည့်စုံအောင် ကျွန်တော်တို့တွေ function ခွဲရေးပါတယ်။
def printHello():
print("HELLO")
printHello()
ဒီ code လေးမှာ ဆိုရင် ကျွန်တော်တို့တွေ printHello ဆိုတဲ့ function လေး ရေးထားတာကို တွေ့နိုင်ပါတယ်။ Hello ကို ခဏခဏ print ရိုက်နေမယ့် အစား printHello ဆိုတဲ့ funtion လေးကို ခေါ်လိုက်တာနဲ့ HELLO ဆိုပြီး ထုတ်ပြပေးနေမှာပါ။
Python မှာ function ကို ရေးတဲ့ အခါမှာတော့ def နဲ့ စတယ်။ ပြီးတော့ function နာမည်။ အခု ဥပမာမှာ printHello က function နာမည်ပါ။
လက်သည်းကွင်းစ နဲ့ ကွင်းပိတ်ကို တွေ့မှာပါ။ အဲဒါကတော့ function စီကို data တွေ ပို့ဖို့အတွက် အသုံးပြုပါတယ်။ ဘာ data မှ မထည့်ပေးလိုက်ချင်ဘူးဆိုရင်တော့ () နဲ့ အသုံးပြုနိုင်ပါတယ်။
def printHello(val):
print("HELLO",val)
printHello("WORLD")
printHello("Python")
ဒီ ဥပမာမှာတော့ World ဆိုပြီး value လေးကို function ဆီ ပို့ပေးလိုက်ပါတယ်။ function ကနေ Hello ကို ရှေ့မှာ ထားပြီးတော့ HELLO World ဆိုပြီး ထုတ်ပေးပါတယ်။ နောက်တစ်ခေါက်မှာတော့ Python ဆိုတာကို ပို့ပေးလိုက်တဲ့ အတွက HELLO Python ဆိုပြီး ထပ်ထွက်လာပါတယ်။ တူညီနေတဲ့ code ၂ ခေါက်ရေးနေမယ့် အစား function နဲ့ ခွဲထုတ်လိုက်တာပါ။
def sum(val1,val2) :
return val1+val2
print("SUM : ", sum(1,4))
ဒီ code လေးကို ကြည့်ကြည့်ပါ။ ပုံမှန် အပေါင်းကို ကျွန်တော်တို့တွေ function ခွဲထုတ်ပြီးတော့ ရေးထားတာပါ။ ကျွန်တော်တို့တွေ 1+4 ဆိုပြီး လွယ်လင့်တကူ ရေးလို့ရပါတယ်။ သို့ပေမယ့် ပေါင်းတယ်ဆိုတဲ့ အဓိပ္ပာယ်သက်ရောက်အောင် sum ဆိုပြီး function သီးသန့် ခွဲထုတ်လိုက်ပါတယ်။ ကိန်း ၂ လုံး ကို ပေါင်းပြီးတော့ ရလဒ်ကို ပြန်ပေးထားပါတယ်။ ကျွန်တော်တို့တွေ function မှာ parameter တစ်ခုမှ မပို့ပဲ နေလို့ရသလို တစ်ခု သို့မဟုတ် တစ်ခု ထက် မက ပို့လို့ရပါတယ်။
အခု ဆိုရင်တော့ function ကို နည်းနည်း သဘောပေါက်လောက်ပါပြီ။
နောက်ထပ် ဥပမာ ကြည့်ရအောင်။ Array တုန်းက max number ကို ကျွန်တော်တို့တွေ ရေးခဲ့ဖူးပါတယ်။
list = [1048,1255,2125,1050,2506,1236,2010,1055]
maxnumber = list[0]
for x in list:
if maxnumber < x :
maxnumber = x
print("MAX number in array is”,maxnumber)
အဲဒီမှာ list ကသာ ၂ ခု ရှိမယ်ဆိုပါစို့။ ကျွန်တော်တို့တွေ max number ရ ဖို့အတွက် ဒီ code ကို ပဲ ၂ ခေါက်ထပ်ရေးရမယ်။
list = [1048,1255,2125,1050,2506,1236,2010,1055]
maxnumber = list[0]
for x in list:
if maxnumber < x :
maxnumber = x
print("MAX number in array list is",maxnumber)
list2 = [1,2,5,6,9,3,2]
maxnumber = list2[0]
for x in list2:
if maxnumber < x :
maxnumber = x
print("MAX number in array list 2 is",maxnumber)
တကယ်လို့ Array ၃ ခု အတွက် ဆိုရင် ဒီ code ကို ပဲ ၃ ခေါက်ထပ်ရေးနေရမယ်။ အဲလို ထပ်ခါ ထပ်ခါ မရေးရအောင် ကျွန်တော်တို့တွေ function ခွဲပြီး ရေးလို့ရပါတယ်။
def max(lst):
maxnumber = lst[0]
for x in lst:
if maxnumber < x :
maxnumber = x
return maxnumber
list = [1048,1255,2125,1050,2506,1236,2010,1055]
list2 = [1,2,5,6,9,3,2]
print("MAX number in array list is",max(list))
print("MAX number in array list2 is",max(list2))
အဲဒီမှာ code က ပိုပြီး ရှင်းသွားတာကို တွေ့နိုင်ပါတယ်။ Array ဘယ်နှစ်ခုပဲ ဖြစ်ဖြစ် ဒီ function ကို ခေါ်ရုံပါပဲ။ function ကို သုံးချင်းအားဖြင့် ထပ်ခါထပ်ခါ ခေါ်နေတာတွေကို သက်သာသွားစေပါတယ်။
လေ့ကျင့်ခန်း ၂-၄
မေးခွန်း ၁။
minus ဆိုသည့် function ရေးပြပါ။ ဂဏန်း ၂ လုံး ပို့လိုက်ပြီး ရလာဒ်ကို return ပြန်ပေးရမည်။
မေးခွန်း ၂။
triangle_star ဆိုတဲ့ function ကို ရေးပါ။ user ဆီက နံပတ်တောင်းပါ။ 3 လို့ရိုက်ရင triangle_star(3) ဆိုပြီး ပို့ပေးပါ။ triangle_star မှ အောက်ပါ အတိုင်း ရိုက်ထုတ်ပြပါ။
*
**
***
အကယ်၍ 5 လို့ ရိုက်ထည့်လျှင် ၅ လိုင်း ထုတ်ပြပါမည်။