Tuesday, October 17, 2017

Python2 Lesson 2



Lesson 1 မဖတ္ရေသးသူေတြအတြက္ ဖတ္ရန္ ⊳⊳ဒီေနရာကို⊲⊲ ႏွိပ္ပါ
>>>> Input Methods <<<<
.
x = input("Enter any number you like.")
y = input("Enter next number.")
x+y
x*y
အထက္ပါ ပုစၧာ ကို ေလ့လာျပီး ေအာက္ပါအတိုင္း ဆက္လက္ စမ္းျကည့္ပါ။
x = raw_input("Enter any number you like.")
y = raw_input("Enter next number.")
x+y
x*y
ပုစၧာ ၂ခုရဲ့ ကြဲလြဲခ်က္ကို သင္ရွာေတြ့ပါသလား။
ဒီအခ်က္ကို အရင္ ရွာျပီးမွ ေအာက္ပါအဆင့္ေတြကို ဆက္လက္ လုပ္ေဆာင္ပါ။
မေတြ့ရင္ ေျပာျပပါမယ္။ ေတြ့ရင္လည္း ခု ေျပာမယ့္ အေျဖနဲ့ တိုက္ဆိုင္ျကည့္ပါဦး။
ပထမပုစာမွာx=2, y=4 ထားခဲ့တာျဖစ္လို့
x = input("Enter any number you like.")
y = input("Enter next number.")
x+y သည္ 2+4 = 6
x*y သည္ 2*4 = 8 ရပါတယ္။
ဒုတိယ ပုစာမွာလည္း x=2, y=4 ပါပဲ။ တူေအာင္ထားမွ ကြဲလြဲမွုကို ေတြ့လြယ္ပါမယ္။
x = raw_input("Enter any number you like.")
y = raw_input("Enter next number.")
x+y မွာ ၂ခု ေပါင္းတာေပမယ့္ '24' ရပါတယ္။ အေျဖမွားေနတာလား?
x*y မွာေတာ့ ပိုဆိုးသြားတယ္
Traceback (most recent call last):
  File "", line 1, in
TypeError: can't multiply sequence by non-int of type 'str'
ဆိုတဲ့ error ျကီးပဲ ေတြ့ရမွာပါ။
????????????????????????
ဒါကို ဆက္မေျဖခင္ ေအာက္ပါ ပုစာ ၂ခုကို ထပ္လုပ္ျကည့္လိုက္ပါဦး။
ပုစာက အတူတူပါပဲ။ မတူတာက x, y ပါ။ ေအာက္ပါ ပုစာ ၂ခုလံုးရဲ့ သတ္မွတ္ခ်က္ေနရာမွာ
x = Mg, y = Zaw ဆိုျပီးအတူတူ ေျဖျကည့္ပါ။
.........
x = input("Enter your first name.")
y = input("Enter your last name.")
ဒီေနရာမွာတင္ တစ္ေျကာင္းစီမွာ error တက္လာတာ စ ေတြ့ရပါမယ္။ ဒုတိယပုစာကို ဆက္သြားပါဦး။
....
x = raw_input("Enter your first name.")
y = raw_input("Enter your last name.")
x+y မွာ 'MgZaw' လို့ ျပမွာျဖစ္ျပီး
y+x ဆို 'ZawMg' လို့ ျပပါလိမ့္မယ္။
.
ခုေလာက္ဆိုရင္ေတာ့ ရွင္းေလာက္ပါျပီေနာ္။
user input method ၂မ်ိုး ရွိေပမယ့္ မတူညီေျကာင္းေပါ့။
input နဲ့ raw_input မွာ
input က ကိန္းဂဏန္းေတြကို သိုေလွာင္ဖို့ အသံုးျပဳျပီး တြက္ခ်က္မွုေတြ လုပ္ေဆာင္နိုင္ေပမယ့္ Name လို text  ေတြကိုေတာ့ မွတ္သားလို့ မရပါဘူး။
raw_input ကလည္း အေပၚဘက္ ပုစာမွာလို
ဒုတိယပုစာမွာလည္း x=2, y=4 ပါပဲ။ တူေအာင္ထားမွ ကြဲလြဲမွုကို ေတြ့လြယ္ပါမယ္။
x = raw_input("Enter any number you like.")
y = raw_input("Enter next number.")
x+y မွာ ၂ခု ေပါင္းတာေပမယ့္ '24' ရပါတယ္။ အေျဖမွားေနတာလား? ထင္စရာျဖစ္လာတယ္။
တစ္ကယ္က သူက text ကို သတ္မွတ္တာမို့ သူ့ဆီဝင္လာတဲ့ ကိန္းေတြကိုလည္း စာသားအျဖစ္သာ မွတ္ထားတယ္။
ဒါေျကာင့္
x = raw_input("Enter your first name.")
y = raw_input("Enter your last name.")
x+y မွာ 'MgZaw' လို့ ျပျပီး
y+x ဆို 'ZawMg' လို့ ျပတာ ျဖစ္ပါတယ္။
......
အနွစ္ခ်ုပ္ မွတ္သားရမယ့္ အခ်က္က input ဆိုတာ  ကိန္းဂဏန္းေတြကို မွတ္သားတြက္ခ်က္ဖို့ သံုးတာ ျဖစ္ျပီး raw_input ကေတာ့ ကိန္းေတြေရာ စာေတြကိုပါ မွတ္သားနိုင္တယ္။ (ကိန္းေတြမွတ္လည္း တြက္လို့ မရဘူးေနာ္) text အေနနဲ့ပဲ မွတ္သားတာ။ ဒီ function ၂ခုအေျကာင္း သိပါျပီေနာ္။ ေနာက္တစ္ခု ဆက္သြားရေအာင္ပါ။
..............
................
ခုတစ္ခါေတာ့ Comparison Operators ေခၚ နွိုင္းယွဥ္ေဖာ္ျပနိုင္တဲ့ ဖန္ရွင္ကို အသံုးျပဳနိုင္ဖို႔ ေဖာ္ျပေဆြးေနြးသြားမွာျဖစ္ပါတယ္။ python  မွာ ေအာက္ပါလိုင္းေတြကို တစ္ခုစီ ေရးၾကည့္ပါ။
4==4
4==5
အထက္ပါ နွစ္ခုကို စမ္းျကည့္ရင္ 4==4 က true လို့ ေျဖမယ္။ ဘာလို့လဲဆိုေတာ့ 4 သည္ 4 နဲ႔ တူညီလား လို့ ေမးထားလို့ ျဖစ္ပါတယ္။
ဒုတိယတစ္ခုျဖစ္တဲ့ 4==5 မွာေတာ့ false လို့ပဲ ေျဖပါမယ္။ 4 က 5 နဲ႔ မညီလို့ ျဖစ္ပါတယ္။
ေနာက္တစ္ခု
4 != 5
လို့ ရိုက္ျကည့္ရင္ မွန္တယ္လို့ ေျဖပါမယ္။ != ဆိုတဲ့ symbol အတြဲကေလးက not equal (မညီမွ်ျခင္း) ေပါ့။
5 != 5 ဆိုရင္ေတာ့ မွားတယ္လို့ ေျဖပါမယ္။ 5 နဲ့ 5 က ညီေနလို့ပါ။
ထို့အတူပဲ
5 > 3 ဆို မွန္တယ္လို့ ေျဖမွာျဖစ္ျပီး 5 < 3 ဆိုရင္ မွားတယ္လို့ ေျဖပါလိမ့္မယ္။
5 >= 3 ဆို မွန္မွာျဖစ္ျပီး 5 <= 3 ဆိုရင္ေတာ့ မွားမွာျဖစ္ပါတယ္။
ခုေျပာတာေလးေတြကို တစ္ခုစီ စမ္းသပ္ၾကည့္ေစခ်င္ပါတယ္။
...........
...........
ျပီးရင္ ကိန္းေတြကိုမဟုတ္ဘဲ စာသားေတြကိုပါ နွိုင္းယွဥ္ျကည့္ရေအာင္
>>> "see" > "zoo"
False
>>> "horse" > "aeroplane"
True
>>> "zoo" > "zebra"
True
................
code line တင္မဟုတ္ဘဲ အေျဖကိုပါ ေဖာ္ျပေပးလိုက္ပါတယ္။ စမး္ျကည့္ပါ။
>>> "see" > "zoo"
False  (ဘာလို့မွားလဲဆို z က ေနာက္ဆံုး အျကီးဆံုးမို့ပါ။ a ဆို ေရွ့ဆံုး အငယ္ဆံုးပါ)
>>> "horse" > "aeroplane"
True (ဒီမွာေတာ့ h က a ထက္ ျကီးတယ္ဆိုတာ ေသခ်ာပါျပီ)
>>> "zoo" > "zebra"
True (z ခ်င္္းတူတဲ့အတြက္ ဒုတိယအလံုးခ်င္း နွိုင္းယွဥ္လိုက္ပါတယ္။  zoo က o သည္ zebra က e ထက္ ေနာက္မွာ ရွိေသာေျကာင့္ o ကပိုႀကီးလို့ zoo က ပိုႀကီးသြားတာပါ )
..........
>>> 900000 > "forget"
False
>>> 9000 < "apple"
True
စာသားနဲ့ ကိန္းေတြကို နွိုင္းယွဥ္တဲ့အခါ စာသားက ပိုႀကီးပါတယ္။
............
...........
Conditional Statements
ဒီတစ္ခါေတာ့ Conditional Statement လို့ေခၚတဲ့ if , if else တို့အေျကာင္းကို ေဆြးေနြးသြားပါမယ္။
command line (or) IDLE အဆင္ေျပတဲ့ေနရာကေန သံုးပါ
Conditional Statements ဆိုတာက တစ္ခုခုျဖစ္မွ တစ္ခုခုရမယ့္ကိစဿစမ်ိုး (ဥပမာ - မိုးမရြာရင္ ရုပ္ရွင္သြားရမယ္။ ေအာင္ေအာင္ဆိုရင္ ဒီစာ ေပးလိုက္)  စတဲ့ function ေတြမ်ိုးအတြက္ပါ။ Conditional Statement ကို အသံုးျပဳမယ္ဆိုရင္ေတာ့ ပထမဆံုးအေနနဲ့ variable တစ္ခု တည္ေဆာက္ဖို့ လိုပါတယ္။
..
x = "Mg Mg"
if x == "Mg Mg":
   print "You are programmer."
........
........
အထက္ပါ ဥပမာျပီးရင္ enter ၂ခ်က္ ဆင္းျကည့္ပါ။ You are programmer. ဆိုျပီး စာေျကာင္း ေပၚလာပါမယ္။ (သတိထားရမွာက if စာေၾကာင္းျပီးလို႔ print မစမီမွာ Tab တစ္ခ်က္ ခုန္ဖို႔ လိုအပ္ပါတယ္)
.
နည္းနည္းေလး ရွင္းျပခ်င္ပါတယ္။ ပထမဆံုးအေနနဲ့ တည္ေဆာက္အသံုးျပုလိုက္တဲ့ variable က
x ကို Mg Mg လို့ သတ္မွတ္ထားပါတယ္။ အကယ္၍ Mg Mg ျဖစ္ခဲ့ရင္ You are programmer. ဆိုတဲ့ စာေၾကာင္းကို ထုတ္ေပးဖို့ပါ။
........
........
passcode = 12345
if passcode == 12345:
   print "Welcome"
ဒါေတြကေတာ့ ရွင္းပါတယ္။ enter ၂ခ်က္ ဆင္းလိုက္တာနဲ့ Welcome ေပၚလာမွာပါ။
......
.......
ဒီတစ္ခါေတာ့ password  ေလး ေရးဦးမွပါ :) 😋😋
password = 12345
if password != 12345
   print "You cannot open"
ဒါမ်ိုး stirng  အတြက္ကေတာ့ အေျဖ ထြက္လာမွာ မဟုတ္ပါ။
ထို့အတူ
password = 12345
if password  == 67890
   print "You cannot open"
အထက္ပါ operation  မ်ိုးအတြက္လည္း အေျဖ ထြက္မွာမဟုတ္ပါ။ သတ္မွတ္ထားေသာ variable နွင့္ နွိုင္းယွဥ္ေလ့လာေသာ Comparison မတူညီမွုေျကာင့္ ျဖစ္ပါသည္။
....
ဒီတစ္ခါေတာ့ if else  သြားပါမယ္။
if ကေတာ့ ဒါျဖစ္ရင္ ဒါထုတ္ ဆိုတဲ့အဆင့္ပဲ ရွိေသးတာပါ။
else နဲ့ တြဲလိုက္ရင္ေတာ့ အေတာ့္ကို အေျခအေန တိုးတက္လာပါျပီ။
ဥပမာေလး ေျပာရေအာင္ပါ။ ကြ်န္ေတာ္တို့က  password စနစ္ကေလးတစ္ခု တံခါးမွာ တပ္ဆင္မယ္ ဆုိပါစို့။ password ကို 12345 လို့ ထားတယ္ဆိုပါစို့။ password 12345 ဆိုရင္ ဖြင့္ေပးရမွာျဖစ္ေပမယ့္ မဟုတ္ရင္ေတာ့ ဖြင့့္ေပးလို့ မရပါဘူး။ ခု နမူနာေျပာတဲ့ အေျခအေနလိုမ်ိုးမွာ if else ကို သံုးပါတယ္။
..........
အထက္ပါ ဥပမာအတိုင္းပဲ ေရးျကည့္ရေအာင္ပါ။

password = 12345
if password == 12345:
   print "Passwords correct."
else:
   print "Passwords incorrect."
............
...........
.............
အထက္ပါ ဥပမာေတြကို ဒီမွာေပးထားတာအျပင္ ကိုယ့္ဘာသာ ဖန္တီးၾကည့္ပါ။ ေပ်ာ္စရာေကာင္းလာမွာပါ :)
.........
............
ေအာက္မွာ ကြ်န္ေတာ္ နမူနာ ေရးျပထားတာေလးေတြ ရွိပါေသးတယ္
လုပ္ျ
ၾကည့္ျပီး ေသခ်ာ မွတ္မိတဲ့ထိ ေလ့က်င့္ၾကပါခင္ဗ်။
...
.....
x = 2
y = 5
if x < y:
    print "True"
else:
    print "False"
ျပီးလို့ enter ၂ခ်က္ ဆင္းလိုက္ရင္ True ရပါမယ္။ ကြ်န္ေတာ္ နွိုင္းယွဥ္ခဲ့တာက
x < y
2 < 5 မို့ပါ
အကယ္၍ < ေနရာမွာ > သံုးမိခဲ့မယ္ဆိုရင္ေတာ့ အေျဖက မွားတယ္လို့ ျပမွာ ျဖစ္ပါတယ္။
x = 2
y = 5
if x > y
    print "True"
else:
    print "False"
....
ဒီေန႔ထိ သင္ထားတာေလး နည္းနည္းေလးပဲ ရွိပါေသးတယ္။ ခုမွ သင္ခန္းစာ ၂ခုပဲ ရွိေသးတာေလ ေနာ
အဲဒီ ၂ ခုကို ေပါင္းစပ္ျပီး Program ေသးေသးေလးတစ္ခု ဖန္တီးၾကည့္ရေအာင္ဗ်ာ
အရင္ဆံုး မိမိဘာသာ ဖန္တီးၾကည့္ပါဦး။ မလုပ္တတ္မွ ေအာက္ပါ  mov ကို ၾကည့္ပါ



သင္ခန္းစာ ၃ ၾကည့္ရန္ ဒီေနရာကို ႏွိပ္ပါ
.
အဆင္ေျပေပ်ာ္ရႊင္ၾကပါေစ

Khit Minnyo

0 comments:

Post a Comment