# et/0OgC0yE66kGw.xml.gz
# my/0OgC0yE66kGw.xml.gz


(src)="2"> Eelmistes videotes kirjutasime programmi mis küsib kasutajalt mingisugust arvu ja siis arvutab selle faktoriaali ja prindib selle arvu välja .
(src)="3"> See kõik on tore , aga võib ette kujutada maailma kus sa tahad arvutada faktoriaali mitmes kohas või mitmes erinevas programis või samas programmis mitu korda .
(src)="4"> Sa ei pea iga kord seda koodi ümber kirjutama kui tahad faktoriaali arvutada ,
(trg)="1"> အရင္ ဗီြဒီယိုေတြတုန္းက ပ႐ိုဂရမ္ေကာင္းေလးေတြကို ကၽြန္ေတာ္တို႔တို႔ ဒီမွာ ေရးခဲ့ၿပီးၿပီ အသံုးျပဳသူေတြကို input အမ်ဳိးအစားတခ်ဳိ႕ကိုေမးၿပီး အဲဒီဂဏန္းရဲ႕ ေအာက္မွာရွိတဲ့ကိန္းအားလံုးရဲ႕ ေျမႇာက္လဒ္ကို တြက္ခုိင္းခဲ့တယ္ ၿပီးေတာ့ ဒါကို ထုတ္ေပးခုိင္းတယ္ အဲဒါက ေကာင္းေပမယ့္ ဒီမွာ ခင္ဗ်ား စကားလံုးတစ္ခုကို ေတြးၾကည့္သင့္တယ္ အဲဒီစကားလံုးကို ဘယ္ေနရာေတြမွာ ေျမႇာက္ေဖာ္ကိန္းအျဖစ္တြက္မယ္ ၊ ဒါမွမဟုတ္ ဘယ္ပ႐ိုဂရမ္ေတြမွာ တြက္မယ္ဆိုတာနဲ႔ ပ႐ိုဂရမ္တစ္ခုထဲမွာ တြက္မလားဆိုတာေတြကိုပါ ထည့္စဥ္းစားေပးရမယ္ ၿပီးေတာ့ အဲဒီ code ကို မင္းေျမႇာက္ေဖာ္ကိန္းေတြရွာတုိင္း ထပ္ရိုက္ခ်င္မွာမဟုတ္ဘူး ဒါေၾကာင့္ ဒီဗြီဒီယိုမွာဆိုရင္ ေျမႇာက္ေဖာ္ကိန္းကို တြက္ျပထားတဲ့ function နဲ႔ ငါတို႔ေျမႇာက္ေဖာ္ကိန္းကို ရွာခ်င္တုိင္း အၿမဲအသံုးျပဳလို႔တဲ့ function ကုိ ေရးျပထားပါတယ္ ဒါဆိုရင္ ဒီ function မွာ ဘာေတြလုပ္ထားသလဲဆိုေတာ့ code ေတြအားလံုးကို ေနရာခ်ထားမယ္ အဲဒီ code ေတြအားလံုးကေတာ့ ဒီမွာပါ အဲဒီ code ေတြကို ဒီ function မွာ ေနရာခ်ထားၿပီးေတာ့ ကၽြန္ေတာ္တို႔ေျမႇာက္ေဖာ္ကိန္းတြက္ခ်င္တဲ့ အျခား function ေတြမွာလည္း ကၽြန္ေတာ္တို႔ ဒီ code ကို ျပန္ေခၚသံုးလို႔ရပါတယ္ ကၽြန္ေတာ္ဒါကို ျပန္ေရးဖို႔ မလိုဘူး ကဲ ဒါဆိုရင္ ခင္ဗ်ားကို ကၽြန္ေတာ္ေျပာေနတဲ့ အေၾကာင္းေတြက ဘာလဲဆိုတာ ၾကည့္ၾကစို႔ ကၽြန္ေတာ္က function တစ္ခုကို သတ္မွတ္လုိက္မယ္ အဲဒီ function ထဲမွာဆိုရင္ ထူးျခားတဲ့ အေၾကာင္းအရာေတြကို ေဖာ္ျပႏိုင္တဲ့ Python ရဲ႕ keyword ေလးေတြကို သံုးထားတယ္

(src)="12"> See võtmesõna Pythonis on " def " .
(src)="13"> Ma defineerin funktsiooni ja nimetan selle faktoriaali funktsiooniks .
(src)="14"> Ja tavaliselt on hhea mõte nimetada asju selle järgi mida nad teevad .
(trg)="2"> Python မွာ function တစ္ခုကို သတ္မွတ္မယ္ဆိုရင္ " def " ဆိုတဲ့ keyword ကို သံုးရပါမယ္ ကၽြန္ေတာ္က function တစ္ခုကို သတ္မွတ္မွာျဖစ္တဲ့အတြက္ အဲဒီ keyword ေလးကို ေရးရပါမယ္ ၿပီးေတာ့ ဒါက အရာ၀တၳဳေတြ ဘာလုပ္တယ္ဆိုတာ ၫႊန္ျပေပးႏိုင္တဲ့ စိတ္ကူးေလးတစ္ခု ျဖစ္ပါတယ္ တစ္ခါတရံမွာ program စေရးတဲ့သူေတြမွာ ျဖစ္တတ္တာက

(src)="16"> asju nagu " x245 " ja pärast keegi teine ei saa midagi aru mida see funktsioon või muutuja teeb .
(src)="17"> Niiet kindlasti nimeta asju selle järgi mida nad teevad .
(src)="18"> Minu funktsiooni nimi on " factorial " ja kui kasutaja kutsub selle funtsiooni , siis nad peavad " factorial " - ile ütlema mis numbrist nad faktoriaali võtta tahavad .
(trg)="3"> " x 245 " လို နာမည္ေပးတာေတြ ျဖစ္ပါတယ္ ၿပီးေတာ့ တခ်ဳိ႕သူေတြက ဘယ္ variable ကို သံုးရမယ္ ၊ ဘယ္ function ကို သံုးရမယ္ဆိုတာေတြကို မသိၾကပါဘူး ဒါေၾကာင့္ ခင္ဗ်ားနာမည္ေပးတဲ့အခါမွာ ခင္ဗ်ားဘာလုပ္မယ္ဆိုတာကို ျပႏုိင္မယ့္ နာမည္ကိုေပးသင့္တယ္ ကၽြန္ေတာ့္ရဲ႕ function ကေတာ့ factorial လို႔ ေခၚပါတယ္ ၿပီးေတာ့အသံုးျပဳသူေတြက factorial လို႔ ေခၚလုိက္တဲ့အခ်ိန္မွာ ဘယ္ဂဏန္းရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို ယူရမလဲဆိုတာ ေျပာရပါမယ္ ဒါေၾကာင့္ အဲဒီဂဏန္းကို " number " အျဖစ္ ေၾကညာေပးရပါမယ္ အဲဒီစကားလံုးေတြက နည္းနည္းရႈပ္ေနမယ္ဆိုရင္ ကၽြန္ေတာ္ ခင္ဗ်ားကို စကၠန္႔အနည္းငယ္မွာ ရွင္းျပပါမယ္ ဒါေပမဲ့ ခင္ဗ်ားျမင္ရတဲ့အရာေတြထက ခင္ဗ်ားပိုၿပီး ေမွ်ာ္လင့္ႏုိင္ပါတယ္ ဒီစိတ္ကူးေတြနဲ႔ပိုၿပီး ရင္းႏွီးလာရင္ေပါ့ ဒါေၾကာင့္ သူတို႔က ဂဏန္းေတြကို " number " အျဖစ္ ေၾကညာလုိက္တယ္ ၿပီးေတာ့ ကၽြန္ေတာ္က program ေတြကို ျပန္ေခၚေပးရမယ္ အသံုးျပဳသူေတြ ဂဏန္းေတြကို pass လုပ္ရမယ္လို ကၽြန္ေတာ္မေျပာခဲ့ရဘူး program ကို ေခၚတယ္ဆိုတာ ဂဏန္းေတြ pass လုပ္ဖို႔ပါ ၿပီးေတာ့ ပ႐ိုဂရမ္ေတြကို ေခၚဖို႔အတြက္ အဲဒီဂဏန္းရဲ႕ ေျမႇာက္ေဖာ္ကိန္းေတြဆီကို ျပန္သြားရေအာင္ ဒါဆို အဲဒါကို မွတ္ခ်က္အေနနဲ႔ ကၽြန္ေတာ္ေရးလုိက္မယ္

(src)="23"> Niiet tagastab argumeni " number " faktoriaali .
(src)="24"> Vahest võid kuulda sõna parameeter ja vahest võib kuulda sõna argument .
(src)="25"> Kui defineerid funktsioonis , siis rohkem ametlikult kutsutakse seda parameetriks .
(trg)="4"> " number " ဆိုတဲ့ arugment ရဲ႕ function ကို return ျပန္ရမယ္ ၿပီးေတာ့ တစ္ခါတေလမွာ " parameter " ဒါမွမဟုတ္ " argument " ဆိုတဲ့စကားလံုးကို ခင္ဗ်ားၾကားလိမ့္မယ္ ခင္ဗ်ား function တစ္ခုရဲ႕ အဓိပၸါယ္ကို ျပဳလုပ္တာကို " parameter " လို႔ေခၚၿပီး

(src)="26"> " Number " on üheks parameetriks factoriaali funktsioonis .
(src)="27"> Tegelik number mille keegi funktsioonile annab ... ütleme et kutsutakse
(src)="28"> " factorial " 3- ga , siis ametlikumalt see 3 on argument .
(trg)="5"> " number " ဆုိတာ factorial function ရဲ႕ parameter ေတြထဲက တစ္ခုျဖစ္ပါတယ္ တစ္စံုတစ္ေယာက္က " number " တစ္ခုကို pass လုပ္လုိက္တယ္ ၊ ၿပီးေတာ့ အဲဒီ number ကို " 3 " လို႔ ထားလုိက္ပါ ပိုနည္းစနစ္က်က် ေျပာရမယ္ဆိုရင္ " 3 " က " argument " ျဖစ္သင့္ပါတယ္ ဒါဆိုရင္ " number " ဆိုတဲ့ argument ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို return ျပန္ရမယ္ ဒီမွာရွိတာကေတာ့ number ဆိုတဲ့ argument ပါ ၿပီးေတာ့ အဲဒီ number ကို ေပးခ်င္သလို မေပးရပါဘူး ကၽြန္ေတာ္ေျပာေနတဲ့ number က တိက်မွန္ကန္ပါတယ္ ကၽြန္ေတာ္က number ကို argument လို႔ ေျပာခ်င္ေျပာမယ္ argument ျဖစ္ေၾကာင္း ရွင္းလင္းေအာင္ အဆိုျပဳခ်က္ေလးေတြနဲ႔ ေျပာခ်င္ေျပာမယ္ ကၽြန္ေတာ္ေျပာေနတာ general number ( ေယဘုယ်ကိန္း ) ေတြ အေၾကာင္း မဟုတ္ပါဘူး ဒါကို ၾကည့္ၾကစို႔ ကၽြန္ေတာ္တို႔က တူညီတဲ့ code ေတြကို သံုးမွာျဖစ္တဲ့အတြက္ အဲဒီ code ေတြကို copy လုပ္ၿပီး ျပန္ paste လုပ္ႏုိင္တယ္ ၿပီးေတာ့ ကၽြန္ေတာ္ ဒီကယူထားတဲ့ ဟာေတြကိုလည္း copy လုပ္ၿပီး paste လုပ္ႏုိင္တယ္ ဒါဆိုရင္ ကၽြန္ေတာ္က ဒါကို cut လုပ္ၿပီးေတာ့ ျပန္ေရးခ်င္တဲ့ေနရာမွာ paste လုပ္ႏုိင္တယ္ ဒါေပမဲ့ စာေရးသားပံုေတြကိုေတာ့ ဂ႐ုစိုက္ဖို႔လိုပါတယ္ ဘာေၾကာင့္လဲဆိုေတာ့ စာေရးသားပံုေတြက Python မွာဆိုရင္ ဘယ္ဟာရဲ႕ ဘယ္အပုိင္းကို ေဖာ္ျပတယ္ဆိုတာ သိသာေစၿပီး အရာ၀တၳဳေတြကို ဘယ္လိုေဖာ္ျပရမလဲ ဆိုတာကိုလည္း သိေစပါတယ္ ဒါေၾကာင့္ ဒီ function definition ရဲ႕ အစိတ္အပိုင္းအားလံုးဟာ စာေရးသားပံုမွန္ကန္ရမယ္ ၿပီးေတာ့ space ( ၄ ) ခုခ်ၿပီး ေရးရမယ္ တစ္ ၊ ႏွစ္ ၊ သံုး ၊ ေလး ဆိုၿပီးေတာ့ေပါ့ ၿပီးေတာ့ ဒါကေတာ့ ေနာက္ထပ္ေလးခု ျဖစ္ပါတယ္ အဲဒီမွာလည္း တစ္ ၊ ႏွစ္ ၊ သံုးေလး ဆိုၿပီး ခြဲေရးရပါမယ္ ၿပီးေတာ့ ဒါက for- loop ရဲ႕ အစိတ္အပုိင္းတစ္ခု ျဖစ္ပါမယ္ ဒီမွာလည္း တစ္ ၊ ႏွစ္ ၊ သံုး ၊ ေလးဆိုၿပီး space ( ၄ ) ေနရာခ်န္ၿပီး ေရးရပါမယ္ ကၽြန္ေတာ္တို႔ ဘယ္ေလာက္ေရာက္ခဲ့ၿပီဆိုတာ ျပန္ေတြးၾကည့္ၾကစို႔ ဒါကေတာ့ number အခ်ဳိ႕ကို pass လုပ္ေနတာပါ ကၽြန္ေတာ္တို႔ ဒီ variable ေလးကို " product = 1 " လို႔ သတ္မွတ္လုိက္မယ္ ၿပီးေတာ့ variable ေတြကို scoping လုပ္တာကို ေဆြးေႏြးၾကရေအာင္ ဒါေပမဲ့ variable ကို factorial definition မွာပဲ သံုးမွာပါ ဘာေၾကာင့္လဲဆုိေတာ့ ကၽြန္ေတာ္ ဒါကို အစတုန္းက ဒီေနရာမွာ သတ္မွတ္ခဲ့လို႔ပါပဲ ၿပီးေတာ့ ဒီေနရာရဲ႕ အတြင္းဘက္မွာ ရွိတယ္ ဒါဆိုရင္ အနာဂတ္မွာ variable ေတြကို scoping လုပ္ျခင္းကို ကၽြန္ေတာ္တို႔ ပိုျပဳလုပ္ႏုိင္ပါတယ္ ၿပီးေတာ့ ကၽြန္ေတာ္တို႔ အရင္တုန္းကလုပ္ခဲ့တဲ့ logic ေတြအတုိင္း

(src)="49"> Ja sama loogikaga nagu ennem , " for i in range( number ) " , praegu ei saa me numbrit kasutades input funktsiooni , see lihtsalt antakse funktsioonile edasi , siis muutuja " product " on võrdne " product " x ( " i " + 1 ) .
(src)="50"> Sama loogika nagu ennem .
(src)="51"> Niiet kui lähed läbi selle for- tsülli , siis kui oled sellest läbi läinud , siis põhimõtteliselt oled sellest läbi läinud " number " kordi .
(trg)="6"> " for i in range ( number ) " ဆိုတဲ့ စာေၾကာင္းေလးမွာ အခုဆိုရင္ ကၽြန္ေတာ္တို႔က input function ေတြကို သံုးၿပီး ဂဏန္းေတြကို မေရးေသးပါဘူး function စီကို pass လုပ္ေပးလုိက္႐ံုပါပဲ ၿပီးေတာ့ " product " ဟာ " product " x ( " i " + 1 ) နဲ႔ ညီတယ္ ကၽြန္ေတာ္တို႔ အရင္ကလုပ္ခဲ့တဲ့ logic အတုိင္းပါပဲ ဒါေၾကာင့္ ခင္ဗ်ား for- loop ကို ေရးၿပီးသြားတဲ့အခါ ဒါကို " number " အႀကိမ္ထိ လုပ္မယ္လို႔ ဆိုလိုတာပါ

(src)="52"> Muutujas " product " on siis " number " - i faktoriaal .
(src)="53"> Ja selleasemel , et seda otse väljastada , meie tagastame ,
(src)="54"> me tagastame selle kutsuvale programmile ning järgmises videos teen selle kohta skeemi , kui praegune asi tundub natukene
(trg)="7"> " product " ဟာ " number " ေတြရဲ႕ functional ထဲမွာ ရွိေနမွာပါ ၿပီးေတာ့ ဒါကို တိုက္႐ိုက္ output ထုတ္ေပးမယ့္အစား return လုပ္ေပးခ်င္ပါတယ္ return လုပ္တယ္ဆိုတာကေတာ့ function ကို ျပန္ေခၚတာပါ ၿပီးေတာ့ ေနာက္ ဗြီဒီယိုမွာဆိုရင္ ကၽြန္ေတာ္က ဒါကို ပံုဆြဲျပပါမယ္ ခင္ဗ်ား ႐ႈပ္ေနမယ္ဆိုရင္ ပိုရွင္းေအာင္လို႔ပါ ဒါဆိုရင္ product ကို return ျပန္လုိက္မယ္ ကၽြန္ေတာ္တို႔ အရင္တုန္းက ေရးထားတဲ့ code ကို ျပန္ေရးဖို႔ေတာ့လိုပါတယ္ ဒါေပမဲ့ ကၽြန္ေတာ္တို႔ ဒါကို function ထဲမွာ ထည့္သြင္းၿပီးၿပီဆိုရင္ေတာ့ function တစ္ခုကို သတ္မွတ္ၿပီးၿပီေပါ့ အထဲမွာ ယူထားတဲ့ဟာမွာ number လို႔ေခၚတဲ့ parameter ေလးရွိပါတယ္ ခင္ဗ်ားက 3 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို လိုခ်င္တယ္ဆိုရင္ ဒါကို ရွာရမွာေပါ့ ၿပီးေတာ့ 3 ဟာ " number " variable ထဲမွာ ထည့္ထားတဲ့ argument ျဖစ္သင့္ပါတယ္ ဒါမွမဟုတ္ " number " ရည္ၫႊန္းထားတဲ့အရာ ျဖစ္သင့္ပါတယ္ ခင္ဗ်ားက " product = 1 " လို႔ သတ္မွတ္ထားတဲ့အတြက္ ဒါကို " number " အႀကိမ္အထိ လုပ္ရပါမယ္

(src)="57"> See võtab parameetri nimega " number " , kui tahad 3- me faktoriaali , kui proovid võtta faktoriaali 3- st , siis 3 on argument mis pannakse muutuja " number " asemele või see asi millele " number " viitab .
(src)="58"> Defineerime " product " on võrdne 1- ga ja siis lähed läbi tsükli " number " korda .
(trg)="8"> " for i in range ( number ) " မွာဆိုရင္

(src)="59"> " for i in range) number " , me oleme seletanud seda loogikat eelmises videos .
(trg)="9"> logic ကို အရင္ ဗြီဒီယိုေတြမွာ ရွင္းျပၿပီးသြားပါၿပီ ခင္ဗ်ား တစ္နဲ႔စတဲ့အခ်ိန္တုိင္း

(src)="60"> Igakord alustad 1- ga , siis sa teed 1 x 1 mis võrdub 1- ga , siis " product " on 1 ja " i " on 1 .
(src)="61"> " i " alustab tegelikult nullist , niiet see saab olema 1 x ( 0+1 ) , mis annab vastuseks 1- he ,
(src)="62"> siis järgmiseks " i " on 2 , niiet see tuleb 1 x 1 , vabandust , siis " i " on 1
(trg)="10"> " 1 x 1 = 1 " ဆိုၿပီး ျဖစ္သြားမယ္ ၿပီးေတာ့ ေျမႇာက္လဒ္က 1 ျဖစ္သြားပါတယ္ i ဟာ သုညကေနစတဲ့အတြက္ 1 x ( 0 + 1 ) = 1 ဆိုၿပီး ထြက္တာ ျဖစ္ပါတယ္ i က 2 ဆိုရင္ ( 1x1 ) ဟာ မွားသြားလို႔ပါ ၊ i က 1 ဆိုရင္ 1 x ( 1 + 1 ) ဟာ 1 x 2 ျဖစ္သြားၿပီး အေျဖကေတာ့ 2 ထြက္လာပါမယ္ ၿပီးေတာ့ ဒီနည္းအတုိင္း တိုးသြားပါတယ္ ဒါကိုေတာ့ ေနာက္ဆံုး ဗြီဒီယိုမွာ အေသးစိတ္ရွင္းၿပီးသြားပါၿပီ ေနာက္ဆံုးမွာေတာ့ product ကို return ျပန္ေပးရပါမယ္ ကၽြန္ေတာ္တို႔ အရင္တုန္းကအတုိင္း တိက်တဲ့ အေျဖကို လိုခ်င္တယ္ဆိုရင္ေတာ့ အခု ကၽြန္ေတာ္တို႔ သံုးေနတာကဒီ function ပါပဲ ကၽြန္ေတာ္တို႔ ဘာလုပ္ႏုိင္သလဲဆိုေတာ့ ကၽြန္ေတာ္တို႔ ေျပာသင့္တာက ကၽြန္ေတာ္တို႔ အခုဆို input ရေနၿပီ ၊ ဒါေၾကာင့္ ဒါကေတာ့ ကၽြန္ေတာ္တို႔ရဲ႕ function definition ပါပဲ ကၽြန္ေတာ္တို႔ရဲ႕ program တစ္ခုလံုးမွာ ကၽြန္ေတာ္တို႔ function ကို define လုပ္ခဲ့ၿပီးၿပီ အခု ကၽြန္ေတာ္တို႔ ေျပာသင့္တာက

(src)="67"> Me võime öelda et . meil on ikka alles sisend , niiet see on meie funktsiooni definitsioon , aga kui vaadata meie põhiprogrammi , me defineerisime oma funktsiooni ja nüüd võime lihtsalt öelda :
(src)="68"> " Kasutajalt võta mitte negatiivne täisarv millest faktoriaal võtta "
(trg)="11"> " ၾကည့္လုိက္စမ္း ေျမႇာက္ေဖာ္ကိန္းေတြကို non- negative integer " က ေနပဲ user ေတြ ယူၾကတယ္ ဒါဆို ဒီလုိ ထားလိုက္စို႔

(src)="69"> Ja paneme selle muutujasse nimega " user_ input " .
(trg)="12"> " user- input " လို႔ေခၚတဲ့ variable ေလးကို ေခၚလုိက္ပါ အခု ကၽြန္ေတာ္ ဘာလုပ္ေနတာလဲဆိုေတာ့

(src)="70"> Ja siis me defineerime veel ühe muutuja
(src)="71"> mille nimi on " factorial<u>of</ u>user_ input " ja nüüd läheb asi põnevaks .
(src)="72"> Ma kutsun selle funktsiooni siin , niiet see on võrdne faktoriaaliga sellest mille kasutaja sisestas .
(trg)="13"> " factorial of user- input " ဆိုတဲ့ ေနာက္ variable တစ္ခုကို define လုပ္ေနတာပါ ဒါက စိတ္၀င္စားဖို႔ေကာင္းလာၿပီ ကၽြန္ေတာ္က ဒီ function ကို ဒီအေပၚမွာ ေခၚလုိက္မယ္ ဒါက user input ေပးလုိက္တဲ့ factorial နဲ႔ ညီမွ်ပါတယ္ ဒါေၾကာင့္ " user- input " ရဲ႕ factorial ဆိုတာ ဒီေနရာက variable ေလးရဲ႕ function ပါပဲ user input ေပးလုိက္တဲ့ factorial

(src)="74"> Faktoriaal kasutaja sisendist .
(src)="75"> Nüüd " factorial<u>of</ u>user_ input " hoiab , ma arvan et võib öelda , et ta viitab vastusele ja nüüd me lihtsalt prindime selle välja .
(src)="76"> Me võime printida " factorial<u>of</ u>user_ input " .
(trg)="14"> " factorial of user- input" ဆိုတာ ပံုျပင္ဆန္ေနလိမ့္မယ္ ကၽြန္ေတာ္တို႔ ေျပာသင့္တာက ဒါက အေျဖတစ္ခုကို ၫႊန္ျပေနၿပီးေတာ့ ကၽြန္ေတာ္တို႔ အခု ဒါကို print ထုတ္ရမယ္ အခု ကၽြန္ေတာ္တို႔ " factorial of user- input " ကို print ထုတ္ႏုိင္ပါၿပီ သူတို႔က ၀ါက်ေတြလိုပဲ ဒါေပမဲ့ သူတို႔က variable name ေတြပါ ငါ နာမည္ေပးထားတဲ့နည္းအတုိင္း အခုဆို variable ေတြရဲ႕ အတြင္းမွာ ဘာရွိတယ္ အဲဒီ variable ေတြက ဘာကို ၫႊန္ျပတယ္ဆိုတာကို သိေနပါၿပီ ဒါေၾကာင့္ " factorial of user- input " ဆိုတာ အခု မင္းသိထားရမွာက program တစ္ခုကို save လုပ္ရမယ္ဆိုတာနဲ႔ run လုပ္ဖို႔ ႀကိဳးစားရမယ္ဆိုတာပါပဲ ကဲဒါဆို program ကို run ၾကည့္ၿပီး ဘာျဖစ္လာမလဲ ၾကည့္ရေအာင္ ဒီမွာ ဘာျဖစ္ေနလဲ ၾကည့္ၾကစို႔ အနည္းဆံုးေတာ့ သိပ္အမွားမပါဘူးေပါ့ ကဲ ေနာက္တစ္ခါ ကၽြန္ေတာ္ program ဒီကေန စရွင္းခ်င္တယ္ ဒါေပမဲ့ ကၽြန္ေတာ္ ဒီမွာ သတ္မွတ္ထားတာ အားလံုးက user နဲ႔ပတ္သက္ၿပီး ဘာမွ creat လုပ္မထားဘူး အခုထိ ဘာမွ processing မလုပ္ရေသးပါဘူး ဒီ function ကို define လုပ္ၿပီး ဒီမွာ ဆက္ျဖစ္သြားတာက

(src)="82"> Vähemalt midagi ei läinud valesti niikaua , niiet ükskord veel , ma tahan selgelt öelda , program käivitus aga me lihtsalt defineersime selle ning tegelikult ei suhelda vaal kasutajaga kuidagi , see veel tegelikult ei töötle veel midagi , lihtsalt defineeritakse funktsioon siis minnakse siia ülese ja öeldakse :
(src)="83"> " Okei , võta kasutajalt sisend " ja see ongi mida me siin teeme .
(src)="84"> Kui me siia mingi numbri kirjutame , tegelikult alles siis kutsutakse välja meie funktsiion selle numbriga mille me sisestasime , see number mille me sisestasime pannakse muutujasse " user_ input " siis kutsutakse " factorial " kui võetakse " user_ input " argumendiks .
(trg)="15"> " Okay , get some input from the user " လို႔ ေျပာပါတယ္ ဒါက ကၽြန္ေတာ္တို႔ ဘာလုပ္ေနတယ္ဆိုတာပါပဲ ဒီမွာ input အခ်ဳိ႕ေရးၿပီးတဲ့အခါ ဒီ function ကို number နဲ႔ အတူ ေခၚလုိက္မယ္ ကၽြန္ေတာ္တို႔ input ေပးလုိက္မယ္ input ေပးမယ့္ number က " user- input " ထဲကို ေရာက္သြားမယ္ ၿပီးေတာ့ ဒါကို factorial လို႔ေခၚၿပီး

(src)="85"> Proovime numbriga 3 .
(src)="86"> Ja see ei töötanud !
(src)="87"> Ja ma näen miks see ei töötanud , sest mul oli siin all eelmise programmi ülejäägid mis tegelikult on nüüd arusaadav .
(trg)="16"> " user- input " ကို argument အေနနဲ႔ ထုတ္ေပးမယ္ ကဲဒါဆို number " 3 " နဲ႔ စမ္းသပ္ၾကည့္ရေအာင္ ဒါက အလုပ္မလုပ္ဘူး ဒါ ဘာလို႔ အလုပ္မလုပ္လဲ ကၽြန္ေတာ္သိၿပီ ကၽြန္ေတာ္ ဒါကို အရင္ program ထဲမွာ က်န္ခဲ့လို႔ပဲ ဘာအဓိပၸါယ္မွ မရွိ ျဖစ္သြားတယ္ ဒါကို ပယ္လုိက္မယ္ ဒါက ပထမဆံုး သင္ခန္းစာေကာင္း ရလုိက္တာပဲ အလုပ္ၿပီးေအာင္ အထိ ႀကိဳးစားပါ ဒါကို ထပ္လုပ္ၾကည့္စို႔ ဒါက အဓိပၸါယ္မရွိတာဘဲ ကၽြန္ေတာ္ ဒီေနရာမွာ ေရးခဲ့မွန္း သတိမထားမိဘူး ထပ္လုပ္ၾကည့္ဦးစို႔ 3 ကို ထပ္ထည့္ၾကည့္မယ္ ကၽြန္ေတာ့္ကို အေျဖေကာင္းကို ေပးတယ္ 3 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို ေပးခဲ့တယ္ ဘယ္ေလာက္ေကာင္းလုိက္သလဲ ဘာေၾကာင့္လဲဆိုေတာ့ ကၽြန္ေတာ့္ရဲ႕ python စကားျပန္သူက ခု definiction ကို လုပ္ၿပီးသြားၿပီလို႔ ယူဆလို႔ပါ ကၽြန္ေတာ္ အခု ဒါကို စကားျပန္ကေန factorial ကို ေခၚႏုိင္ၿပီ ကၽြန္ေတာ့္မွာ အျခား program တစ္ခုရွိမယ္ဆိုရင္ ကၽြန္ေတာ္ ဒါကို နည္းအမ်ဳိးမ်ဳိးနဲ႔ call လုပ္ႏုိင္ပါတယ္ ခင္ဗ်ား ဒါကို တန္ဖိုးထားသင့္တယ္ ဘာလို႔လဲဆိုေတာ့ function definition ကို လုပ္တာေၾကာင့္ ကၽြန္ေတာ္တို႔ တြက္ခ်က္ႏုိင္တယ္ ကၽြန္ေတာ္ ဒီ function factorial ကို သတ္မွတ္ခဲ့ျခင္းေၾကာင့္ 4 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို တြက္ခ်က္ႏုိင္တယ္ ဒါက 24 ပါ ကၽြန္ေတာ္ဟာ 5 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းနဲ႔ 3 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းတို႔ ျခားနားခ်က္ကိုလည္း ေျပာႏိုင္ၿပီ အေျဖက 114 ပါ ကၽြန္ေတာ္က 12 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္းကို ယူႏုိင္တယ္ ၿပီးေတာ့ ခင္ဗ်ားက computer ကို ေျပာႏုိင္တယ္ ဒါေတြအားလံုးကို ဘာသာျပန္႐ံုမွ် လုပ္ေသာ္လည္း interpreted နဲ႔ compile code ေတြ အေၾကာင္းကို ပိုေဆြးေႏြးၾကမယ္ ဒါက အလြန္အမင္း ျမန္ႏုိင္တယ္ ကၽြန္ေတာ္တို႔ ျမန္ျမန္ ပိုနားလည္ႏိုင္မယ္ ဒါကေတာ့ function တစ္ခုရဲ႕ စြမ္းအားအစစ္ပါပဲ ကၽြန္ေတာ္ အခု code ေတြကို ထပ္ခါထပ္ခါ ႐ိုက္စရာ မလိုေတာ့ဘူး ကၽြန္ေတာ္ ဒါကို အျခား argument ေတြနဲ႔ ျပန္ေခၚ႐ံုပါပဲ ဒါေၾကာင့္ 2 ရဲ႕ ေျမႇာက္ေဖာ္ကိန္း ၊ ကၽြန္ေတာ္ ဒါကို အခ်ိန္တုိင္း ရွာႏုိင္တယ္ ကၽြန္ေတာ္ program ကို ျပန္ run စရာမလိုဘူး ၿပီးေတာ့ factorial ကို သံုးတဲ့ အျခား function ေတြကို ေရးမယ္ဆိုရင္ ေပါင္းစပ္ျခင္းေတြမွာ ကၽြန္ေတာ္ တစ္ခုခု လုပ္ႏုိင္တယ္ ကၽြန္ေတာ္ဒါကို function အျဖစ္ အသံုးျပဳ႐ံုပါပဲ ကၽြန္ေတာ္ဒါကို မသိဘူးဆိုရင္ေတာင္မွ function ေတြထဲမွာ ဘာျဖစ္ေနတယ္ဆိုတာကို function ေတြရဲ႕ အက်ဳိးေက်းဇူးေတြထဲက တစ္ခုကေတာ့ ကၽြန္ေတာ္က bunch of program ကို ေရးတယ္ဆိုပါစို႔ ကၽြန္ေတာ့္မွာ factorial လို႔ေခၚတဲ့ program ရွိေနၿပီပဲ ေျပာခ်င္တာက ခင္ဗ်ား အဲ့ဒါကို ဒီေနရာမွာ ျပန္ေရးႏုိင္ပါတယ္ ခင္ဗ်ား program မွာ different guts ေတြရွိတဲ့ တူညီတဲ့အရာေတြမွာ အဆံုးကို user ေတြ သတိမထားႏိုင္ပါဘူး ျဖစ္ႏုိင္တာက ခင္ဗ်ားက ပိုျမန္တဲ့နည္းနဲ႔ ေရးတယ္ ဒါမွမဟုတ္ ပို႐ိုးရွင္းတဲ့နည္းနဲ႔ေပါ့ memory ဒါမွမဟုတ္ PU ကို သံုးတဲ့ power ေတြ နည္းႏိုင္တဲ့ နည္းလမ္း ျဖစ္ပါတယ္ ခင္ဗ်ားဒါကို ျပန္အစားထုိးႏုိင္တယ္ ၿပီးေတာ့ အဲ့ဒါကိုေခၚတဲ့ ဘယ္ program မွာမဆို ထိုဟာ အလုပ္လုပ္ေနသမွ် program အတြက္ အလုပ္လုပ္ေနပါလိမ့္မယ္ ၿပီးေတာ့ ပိုၿပီးေကာင္းေအာင္လည္း အလုပ္လုပ္ပါလိမ့္မယ္

(src)="113"> lihtlsalt saendada selle koodi ja siis iga programm mis seda kutusb , niikaua kuni see ikka töötab , töötab see selle programmi jaoks ja see lihtsalt töötab nii palju parem .
(trg)="17"> Defining a factorial function

# et/0TyTb5JZU9HA.xml.gz
# my/0TyTb5JZU9HA.xml.gz


(src)="1"> Ma tahan teile rääkida oma isast .
(src)="2"> Mu isal on Alzheimeri tõbi .
(src)="3"> Esimesed sümptomid ilmnesid 12 aasta eest ning lõplik diagnoos pandi 2005 . aastal .
(trg)="1"> ကျွန်မရဲ့ အဖေအကြောင်း ပြောပါရစေ ။ အဖေ့မှာ အယ်လ်ဇိုင်းမားရောဂါ ရှိပါတယ် ။ ရောဂါလက္ခဏာတွေ ပြတာက လွန်ခဲ့တဲ့ ၁၂ နှစ်လောက်ကဖြစ်ပြီး ရောဂါကို တရားဝင်တွေ့တာက ၂၀၀၅ မှာပါ ။ အခု သူတော်တော်ကို မကျန်းမာဘူး ။ ၊ စားသောက်ရာမှာ အကူလို ၊ အဝတ်လည်းရာမှာ အကူလို ၊ သူဘယ်မှာ ရှိတယ်ဆိုတာ ဒါမှမဟုတ် ဘယ်အချိန် စသဖြင့် တကယ်မသိရှာဘူး ၊ ဒါကတော်တော်ကို ခက်ခဲပါတယ် ။ အဖေဟာ ကျွန်မဘဝ အများစုအတွက် သူရဲကောင်း နဲ့ ကောင်းရာညွှန်းသူပါ ။ ပြီးခဲ့တဲ့ ဆယ်နှစ် သူပျောက်ကွယ်တာကို စောင့်ကြည့်ရင်း ကုန်ဆုံးပါတယ် ။ အဖေတစ်ဦးတည်းမဟုတ်ဘူး ၊ ကမ္ဘာ အနှံ့ စိတ်ဖောက်ပြန် ရောဂါမျိုးနဲ့နေသူ ၃၅ သန်းခန့်ရှိပြီး ၂၀၃၀ မတိုင်ခင် သန်း ရ၀ ထိ ၂ ဆတိုးမယ်လို့ ခန့်မှန်းရတယ် ။ ဒါဟာ တော်တော်များတဲ့ လူတွေပါ ။ စိတ်ဖောက်ပြန်မှုက ခြောက်လှန့်နေတယ် ။ ရောဂါသည်တွေရဲ့ ရှုပ်ထွေးတဲ့မျက်နှာတွေ တုန်နေတဲ့လက်တွေ ရောဂါသည် အရေအတွက်ဟာ လန့်စေပါတယ် ။ ဒီကြောက်စိတ်ကြောင့်ပဲ ၂ ခုထဲက ၁ ခုကို လုပ်မိတတ်ကြတယ် ။ ငြင်းတတ်တာက ၊ ငါမှမဟုတ်တာ ၊ ငါနဲ့ မဆိုင်ဘူး ၊ ငါဒီလိုမဖြစ်နိုင်ဘူး ။ ဒါမှမဟုတ် စိတ်ဖောက်ပြန်တာကို ကာကွယ်ဖို့ ဆုံးဖြတ်လိုက်တယ် ၊ ဒါ ငါတို့ ဘယ်တော့မှမဖြစ်ဘူး ၊ အကုန်ကောင်း အောင်လုပ်မယ် တို့ဆီမလာတော့ဘူး ။ ကျွန်မက တတိယနည်းကိုရှာတယ် ၊ အယ်လ်ဇိုင်းမား ရရှိဖို့ပြင်ဆင်နေတယ် ။ ကာကွယ်တာ ဟာကောင်းပါတယ် ၊ အယ်ဇိုင်းမားကို တားဆီးဖို့လုပ်နိုင်တာတွေကို လုပ်မယ် ။ သင့်တင့်တာစားမယ် ၊ လေ့ကျင့်ခန်းနေ့တိုင်း လုပ်မယ် ၊ စိတ်ကို တက်ကြွအောင်ထားမယ် ။ လုပ်သင့်တယ်လို့ သုသေသနတွေက ပြောတယ်လေ ။ ဒါပေမဲ့ ရာနှုန်းပြည့်တော့ ဘာကမှ မတားနိုင်ဘူးလို့ သုသေသနတွေကပြောတယ် ၊ မကောင်းဆိုးဝါက သင့်ကိုလိုချင်ရင် သူကသင့်ဆီ လာမှာပါပဲ ။ ကျွန်မအဖေ အဖြစ်က အဲလိုပါ ။ အဖေက ၂ ဘာသာတတ် တက္ကသိလ်ဆရာ ဝါသနာက စစ်တုရင် ၊ ဖဲနဲ့ဆောင်းပါးရေးတာ ( ရယ်သံများ ) ဘာဖြစ်ဖြစ် စိတ်ဖေါက်ပြန်တာတော့ ဖြစ်မှာပဲ ။ မကောင်းဆိုးဝါက သင့်ကိုလိုချင်ရင် သူကသင့်ဆီ လာမှာပါပဲ ။ အထူးသဖြင့် ကျွန်မဆိုရင်ပေါ့ ၊ အယ်လ်ဇိုင်းမားက မျိုးရိုးလိုက်တာကိုး ။ ဒီတော့ အယ်လ်ဇိုင်းမားရဖို့ ကျွန်မပြင်ဆင် နေပါတယ် ။ အဖေ့ကိုစောင် ရှောက်ရင်း သိရတာကို အခြေခံပြီး စိတ်ဖောက်ပြန်တာနဲ့နေတာ လေ့လာ ပြင်ဆင်ရာမှာ အာရုံထားတာ ၃ ခုရှိတယ် အပျော်လုပ်တာတွေကို ပြောင်းနေတယ် ၊ ကိုယ်အင်အား တည်ဆောက်ဖို့လုပ်တယ် ၊ ပြီး ဒါက ခက်တဲ့ဟာပါ ၊ ပိုကောင်းတဲ့သူ ဖြစ်လာဖို့ကြိုးစားနေတယ် ။ ဝါသနာတွေနဲ့စကြစို့ စိတ်ဖောက်ပြန်တော့ ကိုယ့်ဘာသာပျော်ဖို့ ခက်လာတယ် ။ မိတ်ဟောင်းတွေနဲ့ ကြာကြာထိုင်ပြီး စကား မပြောနိုင်ဘူး ၊ သူတို့ဘယ်သူဆိုတာမှ မသိတာ ၊ တီဗွီကြည့်ဖို့က စိတ်ရှုပ်စရာ ၊ မကြာခဏတော့ ကြောက်စရာပါ ။ စာဖတ်ဖို့ ဆိုတာကလည်း မဖြစ်နိုင်လောက်တာမျိုးလေ ။ စိတ်ဖောက်ပြန်သူကို စောင့်ရှောက်တဲ့အခါ အလေ့အကျင့်ရပါတယ် ။ ရင်းနှီးပြီးသား ပြောင်းရလွယ်တဲ့ လုပ်ဆောင်မှုတွေမှာ ပါဝင်ဖို့ကျင့်ပေးတယ် ၊ အဖေနဲ့က သူ့ကို ပုံစံတွေဖြည့် ခိုင်းတာဖြစ်သွားတယ် ။ သူက အစိုးရကျောင်းက ဆရာဖြစ်တော့ စာရွက်စာတမ်းတွေက ဘာဆိုတာ သိတယ် ။ လိုင်းတိုင်းမှာ သူလက်မှတ်ထိုးမယ် ၊ ဘူးအားလုံကို စစ်မယ် ၊ နံပါတ်ရှိသင့်တယ်လို့ သူထင်တဲ့ နေရာမှာ နံပါတ်တပ်မယ် ဒါပေမဲ့ တွေးမိသွားတာက ကျွန်မကို စောင့် ရှောက်ပေးသူက ဘာလုပ်လိမ့်မလဲပေါ့ ။ အဖေ့သမီးပဲလေ ၊ စာဖတ် ၊ စာရေး ၊ ကမ္ဘာ့ ကျန်းမာရေး အကြောင်း အများကြီးတွေးတယ် ဘေးဘက်မှာ လျှောက်ခြစ်လို့ရအောင် ပညာရေး စာစောင်တွေပေးမှာလား ။ အရောင်ခြယ်လို့ရအောင် ဇယားတွေ ၊ ဂရပ်တွေ ပေးကြမှာလား ။ ဒီတော့ အသုံးတည့်မယ့်ဟာတွေ ကြိုးစားလေ့လာနေပါတယ် ။ ကျွန်မက ပုံဆွဲတာကို အမြဲကြိုက်တယ် ၊ ပုံဆွဲ ညံ့တာတောင် ဆွဲနေတာလေ ။ အိုရီဂါမီ အခြေခံလေ့လာနေတယ် ၊ တကယ့် ကောင်းတဲ့ဘူး လုပ်တတ်တာပေါ့ ။ ( ရယ်သံများ ) ပြီး သိုးမွှေးထိုး ကိုယ့်ဘာသာသင်တယ် ၊ လက်ရှိတော့ အစက်ထိုးတတ်တယ် ။ ဒီမှာ တော်တာ ၊ မတော်တာ အရေးမပါဘူး ။ အရေးပါတာက လက်တွေ လုပ်တတ်ဖို့လေ ။ အကျွမ်းဝင်တာတွေ ပိုလာလေ လက်တွေက ပိုလုပ်တတ်လေဖြစ်တာကိုး ။ ကိုယ်ပျော်ရွှင်ပြီး ၊ လုပ်ရတာနဲ့ ရှုပ်တာတွေ ပိုများလေ ဦးနှောက်က မဖြစ်တော့ဘူးလေ ။ လှုပ်ရှားမှုတွေနဲ့ ရှုပ်နေသူတွေဟာ ပိုပြီး ပျော်ကြ ၊ သူတို့ကို စောင့်ရှောက်သူတွေအတွက် ပိုလွယ်စေပြီး ရောဂါတိုးတာတောင် နှေးစေတယ် ဆိုကြတယ် ။ ဒါအားလုံးက ကျွန်မအတွက် နိုင်မယ့်ပုံပါ ။ တတ်နိုင်သလောက် ၊ ကြာနိုင်သလောက် ပျော်ချင်ပါတယ် ။ အတော်များများက အယ်ဇိုင်းမားမှာ ရုပ်ပိုင်းလက္ခဏာ ၊ သိမှတ်မှုလက္ခဏာတွေ ရှိနေတာ မသိကြဘူး ။ ဟန်ချက်အာရုံ မထိန်းနိုင်ဖြစ်သွားတယ် ။ ကြွက်သားက တုန်ယင်လာပြီး လူတွေကို ရွေ့ရှားမှု နည်း နည်း လာစေတယ် ။ လမ်းလျှောက်ဖို့ ကြောက်လာတယ် ။ လှုပ်ဖို့ ကြောက်လာတယ် ။ ဒီတော့ ဟန်ချက်အာရုံကို တည်ဆောက်မယ့် လှုပ်ရှားမှုတွေ လုပ်နေပါတယ် ။ ဟန်ချက်ပိုကောင်းဖို့ ယောဂနဲ့ ထိုက်ချိကို လုပ်နေတယ် ။ ဟန်ချင်စပျက်တဲ့ အခါ ရွေ့ရှားနိုင်အောင်ပေါ့ ။ ဝိတ်သယ်တဲ့ လေ့ကျင့်ခန်းလုပ်တယ် ၊ ကြွက်သားသန်မာအောင်ပေါ့ ၊ စပြီးချည့်လာတဲ့အခါ လှုပ်ရှားနိုင်သေးတဲ့ အချိန်ပိုရအောင်ပေါ့ ။ နောက်ဆုံး တတိယက ပိုကောင်းတဲ့သူ ဖြစ်လာဖို့ ကြိုးစားနေတာပါ ။ အဖေ အယ်လ်ဇိုင်းမား မဖြစ်ခင်က ကြင်နာတယ် ၊ အခုလည်း ကြင်နာတယ် သူ့ရဲ့ ဉာဏ်စွမ်း ၊ ဟာသဓာတ် ၊ ဘာသာစကား စွမ်းရည် ဆုံးရှုံးတာတွေ့ရပေမဲ့ ဒါကိုလည်းတွေ့ရတယ် ၊ သူကျွန်မကို ချစ်တယ် ၊ ကျွန်မရဲ့သားတွေကို ချစ်တယ် ။ ကျွန်မရဲ့ အကို ၊ အမေနဲ့ သူ့ကို ပြုစုသူတွေကို ချစ်တယ် ။ ဒါနဲ့ ချစ်ခြင်းက ကျွန်မတို့ကို သူ့အနား ရှိအောင်လုပ်ပေးတယ် ၊ အခုတောင်မှပဲ ၊ အရမ်းခက်တဲ့ အချိန်မှာတောင်မှ ၊ ဒီကမ္ဘာထဲ သူလေ့လာထားသမျှကို ဖယ်ထုတ်လိုက်ပေမဲ့ ဝတ်လစ်စလစ် သူ့နှလုံးသား ဆက်တောက်ပ နေဦးမှာပါ ။ အဖေ့လောက် ကျွန်မ မကြင်နာဖူးဘူး ချစ်ခင်စရာ မကောင်းခဲ့ဖူးပါဘူး ။ အခုလိုအပ်တာက ဒီလိုဖြစ်အောင် သင်ယူဖို့ပါ ။ စိတ်ဖောက်ပြန်မှုက အကုန်ခွာချရင် ရှင်ကျန်မယ့် ဖြူစင်တဲ့ နှလုံးသား လိုပါတယ် ၊ အယ်လ်ဇိုင်းမားရောဂါ မရချင်ပါဘူး ။ လိုချင်တာက နောင်နှစ် ၂၀ အတွင်း ကျွန်မကိုအချိန်မီ ကာကွယ်ဖို့ ကုသမှုပါ ၊ ဒါပေမဲ့ ကျွန်မအတွက် လာရင်တော့ အဆင်သင့် ဖြစ်တော့မှာပါရှင် ။ ကျေးဇူးတင်ပါတယ် ။ ( လက်ခုပ်သံများ )