Wednesday, October 25, 2017

Python2 Lesson 5


Python  သင္ခန္းစာမ်ားကို အသစ္ထည့္ထားေပးေသာ menu box ကေလးမွတစ္ဆင့္ Python for Hacker ကို ေရြးခ်ယ္ျပီး ၾကည့္ႏိုင္ပါတယ္။
အပိုင္း 4 ထိ သင္ခန္းစာေတြကို မၾကည့္ရေသးသူမ်ား ေအာက္ပါ link ကေနလည္း သြားေရာက္ ၾကည့္ရႈႏိုင္မွာျဖစ္ပါတယ္ခင္ဗ်ာ
Lesson 1 ၾကည့္ရန္ link  >> Click Here
Lesson 2 ၾကည့္ရန္ link  >> Click Here
Lesson 3 ၾကည့္ရန္ link  >> Click Here
Lesson 4 ၾကည့္ရန္ link >> Click Here

........................................
အဆက္
Python Programming
............................
Length Function  အေျကာင္း ။
len() နဲ့ အတိုေကာက္ ေရးရတဲ့ Length Function ဟာ အသံုးဝင္လွတဲ့ ဖန္ရွင္တစ္ခု ျဖစ္ပါတယ္။
စာလံုးေရ ေရတြက္တဲ့ word count ေတြကို len() နဲ့ အသံုးျပဳပါတယ္။ နမူနာေလး ျကည့္ရေအာင္။
>>> x = "I Love Python!"
>>> y = len(x)
>>> y       ျပီးရင္ enter ပါ
 14
အေျဖ ၁၄ ကို တန္းထုတ္ေပးသြားပါတယ္။ နည္းနည္း ရွင္းျပပါမယ္။ ပထမဆံုးအေနနဲ့ variable x ကို တည္ေဆာက္ျပီး I Love Pytnon! လို့ ေပးခဲ့လိုက္ပါတယ္။
y ကိုေတာ့ len(x) x မွာရွိတဲ့ စာလံုးအေရအတြက္လို့ သတ္မွတ္လိုက္ပါတယ္။ ဒါေျကာင့္ y တန္ဖိုး ထုတ္တဲ့အခါ စာလံုးေရကို ထည့္သြင္းထုတ္လိုက္ျခင္းပါ။
စာလံုးေရ ေရတြက္တဲ့အခါ ".." မ်က္ေတာင္ဖြင့္ပိတ္ျကားမွာရွိတဲ့ စာလံုးအေရအတြက္အားလံုးကို ယူပါတယ္။ space ျခားလည္း ထည့္တြက္ပါတယ္။
...............
...............
စာေမးပြဲေလးတစ္ခု စစ္ခ်င္ပါတယ္။ ကိုယ့္ဘာသာ အမွတ္ေပးရမယ့္ စာေမးပြဲေပါ့။ မစစ္ခင္
R1. အထက္ပါ သင္ခန္းစာတိုေလးေတြကို ေပါင္းစပ္ျပီး မိမိဘာသာ ေလ့က်င့္ခဲ့ဖူးပါသလား။ ေမးခ်င္ပါတယ္။
နမူနာအေနနဲ့ သင္ခန္းစာထဲ မပါေပမယ့္ ကြ်န္ေတ္ာ ေလ့လာခဲ့စဥ္က ေပါင္းစပ္ ေလ့က်င့္ဖူးတာေလးတစ္ခု မွတ္မွတ္ရရ ထည့္ေပးလိုက္ပါတယ္။
အထက္ပါ len() ကိုပဲ ေပါင္းစပ္ျပပါ့မယ္။
>>> x = raw_input("Type Here:")
Type Here:Khit Minnyo
နာမည္စာလံုးေတြက ကြ်န္ေတာ္ရိုက္ထည့္ရတာပါ။ ဒီေနရာမွာ နွစ္သက္ရာေျပာင္းေရးနိုင္ပါတယ္။
>>> y = len(x)
>>> y
 11
ကြ်န္ေတာ္ကေတာ့ ဥပမာေလးေပးခဲ့ပါျပီ။ len()ကို ေလ့လာကတည္းက ဘာနဲ့ေပါင္းစပ္ရမလဲ ေတြးထားပါတယ္။ ဒါေျကာင့္ len() အေျကာင္း သိဆိုပဲ
အထက္ပါအတိုင္း raw_input နဲ့ စမ္းသပ္လိုက္ပါတယ္။ class  ထဲက fri ေတြလည္း အဲလုိ ေပါင္းစပ္ ေလ့လာဖူးပါသလားခင္ဗ်ာ။
..........
..........
စာေမးပြဲေမးခြန္း စပါျပီ။ ကိုယ့္ဘာသာ အမွတ္ေပးရမွာေနာ္။
Q1. Lessons အမွတ္စဥ္အလိုက္ သင္ခန္းစာအားလံုးကို တစ္ခုမက်န္ လုပ္ေဆာင္ဖူးပါသလား။
     လုပ္ေဆာင္ဖူးပါက 1 မွတ္
Q2. lessons မ်ားအားလံုးကို ျကည့္ျပီး လုပ္ေဆာင္ရံုမက ျပီးဆံုးသည့္အခါ ေနာက္တစ္ျကိမ္ ျပန္မျကည့္ဘဲ အလြတ္ လုပ္ေဆာင္ဖူးပါသလား။
     လုပ္ေဆာင္ဖူးပါက 2 မွတ္
Q3. Lessons မ်ားကို အထက္တြင္ နမူနာျပခဲ့သလို R1.သင္ခန္းစာေတြကို ေပါင္းစပ္ျပီး မိမိဘာသာ ဖန္တီးဖူးပါသလား။
    လုပ္ေဆာင္ဖူးပါက 3 မွတ္
Q4. အားလပ္ရက္မ်ားတြင္ ျပန္လည္ေလ့က်င့္ခဲ့ဖူးပါသလား။
     လုပ္ေဆာင္ခဲ့ဖူးပါက 2 မွတ္
Q5. သင္ခန္းစာ အားလံုး လုပ္ေဆာင္ရင္း ပ်င္းျပီး မလုပ္ခ်င္ ျဖစ္ဖူးပါသလား။ စိတ္ပါဝင္စားစြာ လုပ္ေဆာင္ခဲ့ပါက 2 မွတ္။ စိတ္မပါေသာ္လည္း မိမိေလ့လာမွု အက်ိုးရွိေစဖို့
   အာရံုစိုက္ လုပ္ေဆာင္ပါက 2 မွတ္။ အခ်ို့ သင္ခန္းစာေတြကို ဖတ္ရံုပဲ ဖတ္ျကည့္ျပီး မလုပ္ေဆာင္ဘဲ ခ်န္ခဲ့ပါက 1 မွတ္။
................
စာေမးပြဲေမးခြန္းေလးေတြေတာ့ ျပီးပါျပီ။ မိမိကိုယ္ကိုယ္ မိမိသာ အသိဆံုးမို့ အမွန္အတိုင္း အမွတ္ကေလးေတြကို comment မွာ ေျပာျပခဲ့ေပးပါဦး။
.........
သင္ခန္းစာပိုင္းကို ထပ္ဆက္ရေအာင္ပါ။
len() function ကို မွတ္မိေသးတယ္မို့လား။ မမွတ္မိေသးရင္လည္း ျပန္ေျပာျပမယ္။
>>> x = "I Love Python!"
>>> y = len(x)
>>> y
 14
ဒီပံုစံမ်ိုးကိုပဲ word count အတြက္ပဲ အျမန္ အသံုးလိုတဲ့အခါ တိုက္ရိုက္ သံုးလို့ ရပါေသးတယ္။
>>> x = len("What is your name?")
>>> x
>>> 18
ေရတြက္မယ့္ စာတန္းကို len() ထဲ တိုက္ရိုက္ ထည့္သြင္းလုိက္တာပါ။
..........
...........
python file ေလးေတြ ေရးျပီး save ဖို့ အေျကာင္း ဖြင့္သံုးဖို့အေျကာင္း နည္းနည္း သင္ပါမယ္။
နည္းနည္းဆိုေပမယ့္ မ်ားမ်ား မွတ္ထားျပီး ေပါင္းစပ္ ေလ့လာဖို့ကေတာ့ မိမိဘာသာ ျကိုးစားရမွာေနာ္ :)
leafpad ကိုဖြင့္ပါ။ (Terminal ကေန leafpad လို့ ရိုက္ျပီး enter ရင္လည္း ရပါတယ္။)
leafpad ကေလး ပြင့္လာျပီဆိုရင္ေတာ့ ေအာက္ပါလိုင္းကေလးေတြကို ရိုက္ထည့္လိုက္ပါ။
name = raw_input("Enter your name.")
print name
ျပီးတဲ့အခါ lesson1.py ဆိုတဲ့ အမည္နဲ့  desktop မွာ သိမ္းလိုက္ပါ။ Save ျပီးတဲ့အခါ terminal အသစ္ဖြင့္ျပီး
cd Desktop
python lesson1.py ဆိုျပီး ဖြင့္ျကည့္တဲ့အခါ  Enter your name ဆိုျပီး ျမင္ရပါမယ္။ နာမည္တစ္ခုခု ရိုက္ထည့္လိုက္ပါ။
ကိုယ္ထည့္လိုက္တဲ့ နာမည္ကို print ျပေပးမွာျဖစ္ပါတယ္။
ဒါကေတာ့ ကြ်န္ေတာ္တို့က linux မွာ run ျကည့္လိုက္လို့ပါ။ အဲသည္ဖိုင္ကိုပဲ ေကာ္ပီယူ။ Windows ဘက္ကေန ဝင္လို့ရတဲ့ ေနရာတစ္ခုခုမွာ
memory stick (or) other location  တစ္ခုခုေရြးျပီး ကူးထားလိုက္ပါ။ windows ဘက္ကေန ဝင္ျကည့္ျပီး Double Click နွိပ္ျပီး RUN
ျကည့္ရင္ ဘာထူးျခားတာ ေတြ့ရပါမလဲ??????????
linux terminal မွာ RUN ေနရင္းနဲ့လည္း သတိထားလို့ရပါတယ္။ ဘယ္လိုလဲဆိုရင္ နာမည္ျဖည့္သြင္းျပီး enter လိုက္တာနဲ့ ျဖည့္သြင္းလိုက္တဲ့ နာမည္ကို
ပရင့္ထုတ္ျပျပီး ခ်က္ခ်င္းဆိုသလို ေနာက္တစ္လိုင္း ကူးသြားတာကို ေတြ့ရမွာပါ။
root@kmn:~/Desktop# python lesson1.py
Enter your name.khitminnyo
khitminnyo
root@kmn:~/Desktop# ေနာက္ထပ္ command line ကို ေရာက္သြားတာပါ။ ခုန စမ္းခဲ့တဲ့ lesson1.py ျပီးသြားျပီဆိုတဲ့သေဘာ။
windows ဘက္မွာဆိုရင္ေတာ့.........
နာမည္ ရိုက္ထည့္ျပီးတာနဲ့ cmd ပါ ေပ်ာက္သြား  (program  ပိတ္သြား) တာကို ေတြ့ရပါလိမ့္မယ္။
အဲဒါ ဘာေျကာင့္လဲဆိုရင္ေတာ့ program ကို ခဏ ရပ္ေပးမယ့္ ကုဒ္ မထည့္ထားလို့ ျဖစ္ပါတယ္။
ပရိုဂရမ္ကို ခဏ ရပ္တန့္ေနေအာင္ ကုဒ္ ထပ္ျဖည့္ဖို့ လိုပါျပီ။ ခုန lesson1.py ကိုပဲ leafpad  ကေန ျပန္ဖြင့္ပါ။
မဖြင့္တတ္ဘူးလား။ Desktop က lesson1.pyဆိုတဲ့ဖိုင္ဆီသြား Right-click နွိပ္။ Open with text editor ဆိုျပီး ေတြ့လိမ့္မယ္။ ထိပ္ဆံုးမွာပဲ။
ဖြင့္ျပီးသြားရင္ ခုန စာ ၂ေျကာင္းေအာက္မွာ ေနာက္တစ္ေျကာင္း ထပ္ျဖည့္ျကည့္ပါ။
name = raw_input("Enter your name.")
print name
raw_input("Press enter.")
ခုေတာ့ ဒီလိုျဖစ္သြားပါလိမ့္မယ္။ ဘာထူးျခားသြားလဲျကည့္ျကည့္။
terminal ကေန run ရင္လည္း Press enter တစ္လိုင္း ထည့္ထားတဲ့အတြက္ နာမည္ ရိုက္သြင္းလိုက္ရံုနဲ့ ေနာက္တစ္လိုင္း ေရာက္မသြားသလို windows ဘက္ေန run ရင္လည္း press enter ဆိုတဲ့တစ္လိုင္း က်န္ခဲ့မွာျဖစ္ျပီး enter နွိပ္လိုက္ပါမွ program ရပါပါမယ္။
..............
..............
>>> name = raw_input("Enter your name:")
Enter your name:KhitMinnyo

>>> print "\n The length of your name is", len (name)
 The length of your name is 10

>>> raw_input ("Press Enter")
Press Enter
တစ္လိုင္းစီအတြက္ အေျဖပါ ထုတ္ထားတာ ေတြ့ရပါမယ္။
အထက္ပါ နမူနာကိုပဲ leafpad မွာ ရိုက္ျကည့္ျပီး Save လိုက္ပါ။ ရိုက္တဲ့အခါ အနီေရာင္နဲ႔ ျပထားတာေတြက output မို႔ ထည့္မရိုက္ရဘူးေနာ္။ အထက္ပါ နမူနာကို ရိုက္တဲ့အခါ ဒီအတိုင္းျဖစ္ေနပါမယ္။
name = raw_input("Enter your name:")
print "\n The length of your name is", len (name)
raw_input ("Press Enter")
ဒီတိုင္းရိုက္ျပီးရင္ save ပါ။ နာမည္က lesson2.py ေပါ့။ ခုနဖိုင္နဲ့ မတူေအာင္ Desktop မွာပဲ ထားထားလိုက္။
ကဲ စျပီေနာ္
.......
name = raw_input("Enter your name:")
print "\n The length of your name is", len (name)
raw_input ("Press Enter")
ဒါကေတာ့ leafpad မွာ ရိုက္ရတဲ့ line code ေတြပါ။ Save တဲ့အခါ lesson2.py အမည္နဲ့ Save လိုက္ပါတယ္။ ျပီးရင္ terminal ဖြင့္ျပီး ေအာက္ပါအတိုင္း RUN လိုက္ပါတယ္။
....
root@kmn:~# cd Desktop
root@kmn:~/Desktop# python lesson2.py
Enter your name:Khit Minnyo နာမည္ေရးျပီး enter လိုက္ပါတယ္

 The length of your name is 11  စာလံုးေရ အေရအတြက္ကို ထုတ္ျပလာပါတယ္။
Press Enter ပရိုဂရမ္ ခ်က္ခ်င္း ပိတ္မသြားေအာင္ ထားထားတဲ့ ကုဒ္ပါ
root@kmn:~/Desktop# Enter နွိပ္လိုက္လို့ ေနာက္တစ္လိုင္း ကူးသြားပါတယ္။
...............
...............
ဖိုင္ေတြ မြမသြားေအာင္ ဒုတိယ lesson2.py ကိုပဲ Edit ျပန္လုပ္ျပီး ထပ္ျဖည့္ျကည့္ရေအာင္။
ခုန ေျပာခဲ့တဲ့အတိုင္းပဲ ဖိုင္ကို R-click နွိပ္ျပီး Open with text editor နဲ့ပဲ ဖြင့္ျကည့္လိုက္ပါ။
ေအာက္ဆံုးေျကာင္းမေရာက္ခင္ ထပ္ျဖည့္မွာမို့ ဒုတိယေျကာင္းေနာက္ဆံုးမွာ ကာဆာခ်ျပီး enter ဆင္းလိုက္ပါ။
ျဖည့္ေရးျပီးသားပံုစံကိုပဲ တစ္ခါတည္း ေျပာေတာ့မယ္ေနာ္။
...
name = raw_input("Enter your name:")
print "\n The length of your name is", len (name)
if "n" in name:
    print "There is 'n' letter in your name."
else:
    print "There is no 'n' letter in your name."
raw_input ("Press Enter")
ျပီးရင္ ဖိုင္ကို Save လိုက္ျပီး Terminal  ကေန  RUN လိုက္ပါဦး။
n နဲ့ ရွာခိုင္းထားတာမို့ n ပါတဲ့ နာမည္နဲ့ မပါတဲ့ နာမည္ ၂မ်ိုးနဲ့ စမ္းျကည့္ပါ။ နမူနာကို ေအာက္မွာ ေဖာ္ျပထားပါတယ္။
root@kmn:~# cd Desktop
root@kmn:~/Desktop# python lesson2.py
Enter your name:Khit Minnyo

 The length of your name is 11
There is 'n' letter in your name.
Press Enter
ပထမတစ္ျကိမ္ ျဖည့္သြင္းတဲ့ နာမည္မွာ  n ပါတဲ့အတြက္ အေျဖပါ။ terminal မွာပဲ ေနာက္တစ္ျကိမ္ ျပန္ run ပါ။
root@kmn:~/Desktop# python lesson2.py
Enter your name:Mg Mg

 The length of your name is 5
There is no 'n' letter in your name.
Press Enter
ဒုတိယ ျဖည့္သြင္းတဲ့ နာမည္မွာ n မပါပါဘူး။
n ပါ မပါဆိုတာကို if else နဲ့ ေရးထားတာပါ။ if else ကို သိျပီးျပီေနာ္။
..........
..........
Python သင္တာ ၅ပိုင္းေတာ့ ရွိလာျပီ။ ဘာ ပရိုဂရမ္ေတြကို ေရးနိုင္ေနျပီလဲ။။။။။။။
မေရးတတ္ေသးဘူးလို့ မေျဖပါနဲ့။ ဒီလိုေျဖရင္ သင္ခန္းစာကို လက္ေတြ့ အသံုးမခ်ဘူးလို့ အေျဖ သက္ေရာက္ပါတယ္။ ခုေလာက္ပဲ သိတဲ့အေနအထားနဲ့တင္ program ေတြ ေရးလို့ရေနပါျပီ။
ျကီးျကီးက်ယ္က်ယ္ေျပာတယ္လို့ ထင္ေနျပီလား????
.........
ေကာင္းျပီ ပရိုဂရမ္ကေလးတစ္ခု ေရးရေအာင္ပါ။ ေထာင့္မွန္စတုဂံ တစ္ခုရဲ့ ဧရိယာ ရွာတဲ့ ပရိုဂရမ္တစ္ခုေပါ့။
:) ေက်ာင္းမွာ သင္ခဲ့ဖူးတဲ့ထဲက လြယ္တာေလးပဲ နမူနာျပတာပါ။
သူ့ရဲ့ ေဖာ္ျမူလာေလးက
ဧရိယာ = အလ်ား x အနံ
ဟုတ္ပါတယ္ေနာ္ :)
lenght = x, width =y, area = z လို့ ထားျပီး နမူနာ ေရးျပမယ္။ ျပန္လုပ္ရင္ ထားခ်င္တဲ့စာလံုးထားေနာ္ 
ေအာက္ပါ ဖိုင္ကေလးကို leafpad မွာ ေရးျပီး Desktop မွာပဲ  area.py ဆိုျပီး သိမ္းလိုက္ပါ။
..........
print "Area of the rectangle in square cm"
x = input("Enter the length of the ractangle, in cm.")
y = input("Enter the width of the ractangle, in cm.")
z = x * y
print z
print "square cm"
raw_input("Press Enter to exit")
..........
ျပီးရင္ Terminal ကေန
root@kmn:~# cd Desktop
root@kmn:~/Desktop# python area.py ဆိုျပီး ဖြင့္လိုက္ပါတယ္။
Area of the rectangle in square cm ဒါကေတာ့ ပရိုဂရမ္ ေခါင္းစဥ္အေနနဲ့ ေဖာ္ထားတာပါ။
Enter the length of the ractangle, in cm.12 (၁၂က ကြ်န္ေတာ္ျဖည့္လိုက္တာ)
Enter the width of the ractangle, in cm.5 (ဒါေရာပဲေပါ့)
60    အလ်ား x အနံမို့ ၁၂ ငါးလီ ေျခာက္ဆယ္ အေျဖ ရပါျပီ
square cm   ဧရိယာမို့ ယူနစ္ ၂ထပ္ ထြက္သြားပါတယ္။ အဆင္ေျပရဲ့လားခင္ဗ်
........
.........
ကြ်န္ေတာ္တို့ ဒါေလးေတြ ဖန္တီးျကည့္ ေရးျကည့္တာ သင္ခန္းစာထဲ မသင္ခဲ့ရဘူးခင္ဗ်။
ေလ့လာနည္းေတြထဲမွာ ေဖာ္ျပခဲ့သလိုပဲ သင္ခန္းစာျကည့္ လိုက္လုပ္ ရေအာင္လုပ္ ျပန္မျကည့္ရေအာင္လုပ္ ျပီးရင္ တစ္ခုနဲ့တစ္ခု ဆက္စပ္စဥ္းစား။
ခုလို ပရိုဂရမ္ေလးေတြကို လြယ္လြယ္ေရးနိုင္ေနျပီ။ ထပ္ျပီး ေတြးျကည့္နိုင္ရင္ ဒီ့ထက္ေကာင္းတာေလးေတြေတာင္ ေရးနိုင္လာပါလိမ့္မယ္ခင္ဗ်။
ဒါက ဥပမာေပးရံုေလးပါ။
.............
..............
ဒီေန့ေတာ့ ဒီေလာက္နဲ့ပဲ ေတာ္ေလာက္ျပီခင္ဗ်
ေလ့က်င့္ဖို့နဲ့ တစ္ခုခု ဆက္စပ္ စဥ္းစားဖို့အတြက္ဆို အခ်ိန္ ၂နာရီေက်ာ္ လုပ္ရေတာ့မယ္။
နည္းနည္းေတာ့ အားတင္းထားမွ :)

Lesson 6 ၾကည့္ရန္ ဒီေနရာကို ႏွိပ္ျပီးသြားပါ
.........................................

ဒီ websiteကေလးမွာ တင္ထားတဲ့ အေၾကာင္းအရာေတြကို က႑အလိုက္ ၾကည့္ရႈလိုပါက ဒီစာေၾကာင္းေလးကိုႏွိပ္ျပီးလည္း ၾကည့္ႏိုင္ပါတယ္ Menu box ကေန ေရြးခ်ယ္ျပီးလည္း ၾကည့္ႏိုင္ပါတယ္ခင္ဗ်ာ


အားလံုး အဆင္ေျပေပ်ာ္ရႊင္ၾကပါေစ

Khit Minnyo
25 October, 2017






0 comments:

Post a Comment