Tuesday, February 26, 2013

strings භාවිතය

string කියන data type එක භාවිතා කිරීම පිළිබඳවයි මෙහිදී අපි හොයා බලන්න යන්නේඔබ දැනටමත් දන්නවා string එකක් කියන්නේ මොකක්ද කියල. "  " සලකුණු හෝ  '  ' අතරේ type කරන ඕනෙම දෙයක් string එකක් විදියටයි python බාරගන්නේ.
>>> s="hi, this is a string"
>>> s
'hi, this is a string'
>>> type (s)
<class 'str'>
>>> 
ගණිතකර්ම වලට බාවිතා නොකරන ඕනෙම data එකක් දාල තියන්න අපි භාවිතා කරන්නේ string කියන data type එක.
අපිට මේවගේ type කරපු string දෙකක් එකතු කරන්නත් පුළුවන්.
>>> u="hi,"
>>> r="this is a string"
>>> u+r
'hi,this is a string'
>>> 
ඒ වගේම string එකක් අංකයකින් ගුණ කරන්නත් පුළුවන්.එවිට string එක අදාළ අංකය තරම් වර ගණනකින් වැඩි වෙනවා.
>>> u
'hi,'
>>> u*5
'hi,hi,hi,hi,hi,'
>>> 
string එකකට තව string එකක් මේ විදියටත් එකතු කරන්න පුළුවන්.
>>> r="my name %s and age %d"%("kumara",12)
>>> r
'my name kumara and age 12'
>>> 
මෙහිදී %s කියන කොටස වෙනුවට තමයි කුමාර කියන string එක ඇතුල්  වෙන්නේ.අපිට integer එකක් ඇතුල්  කරගන්න ඕනේ නම් %d තමයි යොදන්න ඕනේ.මෙය බාවිතා කරන විදිය ගෙන වැඩි විස්තර ඉදිරියීදී ඉදිරිපත් කරන්නම්.දැනට යොදාගන්න සලකුණු කීපයක් පමණක් ඉදිරිපත් කරන්නම්
 %s - string or any object
 %c - character
 %i - integer
 %f - floating point decimal
string එකේ % සලකුණු යෙදී ඇති පිළිවෙලට තමයි %  පසුව අගයන ඇතුල් කල යුත්තේ.මම මී කිව්වේ %("kumara",12) කොටස ගැන. මෙහිදී අගයන් වෙනුවට variable උනත් ලබා දෙන්න පුළුවන්.

>>> version=3.3
>>> str1='python'
>>> l="%s is a programming language.%f is the latest version of %s"%(str1,version,str1)
>>> l
'python is a programming language.3.300000 is the latest version of python'
>>> 
මෙහිදී අපි තව ගැටලුවකට මුහුණ දෙනවා. ඒ තමයි අපිට string එකට දාන්න ඕනේ 3.3 නමුත් මෙහිදී 3.300000 තමයි ඇතුල් වී තියෙන්නේ.අපි මෙමෙ float එක දශම ස්ථාන 1 ක් ඇති සන්ක්යාවක් බවට පත් කරගත් යුතු වනවා.විශේෂයෙන් මුදල් භාවිතයීදී මෙය ඉතාම අවශ්‍ය කාරණයක්.මොකද දශම ස්ථාන 2 කට පමණයි මුදල් පෙන්නන්නේ.
%f වෙනුවට %.(දශම ස්ථාන ගණන )f යෙදීමෙන් අපට අංකයක දශම ස්ථාන සන්ක්යව සීමා කරන පුළුවන්.
>>> l="%s is a programming language.%.2f is the latest version of %s"%(str1,version,str1)
>>> l
'python is a programming language.3.30 is the latest version of python'
>>> 
ඒ වගේම variable\එකක් ඇතුල් කිරීමේදී  space තැබීමට %(space ප්‍රමාණය )f බාවිතා කරන්න පුළුවන්.මෙහි f වෙනුවට string එකක් නම් s ද වශයෙන් කලින් හඳුන්වාදීපු අකුරු use කරන්න පුළුවන්.මෙහි space ප්‍රමාණයට ධන අගයක් ලබා දුන්නොත් variable එක print වූ පසුව space තැබෙන අතර ඍන  අගයක් දැම්මොත් variable එක print වී අනතුරුව space print වේ.
>>> l="%s is a programming language.%10f is the lateset version of %s"%(str1,version,str1)
>>> l
'python is a programming language.  3.300000 is the lateset version of python'
>>> l="%s is a programming language.%30f is the lateset version of %s"%(str1,version,str1)
>>> l
'python is a programming language.                      3.300000 is the lateset version of python'
>>> l="%s is a programming language.%-20f is the lateset version of %s"%(str1,version,str1)
>>> l
'python is a programming language.3.300000             is the lateset version of python'
>>> 

print command භාවිතය

>>> print("enter anything")
enter anything
>>> 
ඉහත ආකාරයට ඕනෙම string එකක් print කරගන්න පුළුවන්.string එකේ අතර මැද්දට variable දාන්නේ මෙහෙමයි.
>>> version=3.3
>>> str1='python'
>>> print(str1,"v.",version)
python v. 3.3
>>> 
මෙහෙදී කොමා ලකුණ වෙනුවට + ලකුණත් යොදාගන්න පුළුවන්.එතකොට use කරන්න පුළුවන් string variable විතරයි.
මීට කලි string ගෙන කියනකොට use කරපු method එකත් use කරන්න පුළුවන්
>>> print("%s v. %.1f"%(str1,version))
python v. 3.3
>>>
අපි යමක් print කරනකොට අලුත් ලිනේ එකක් එහෙම නෙත්නම් ටැබ් එකක් තියන්න ඕනේ උනොත් අපි escape character  use කරනවා.
\n-new line එකක් print කරන්න use කරන්නේ.

>>> print("saman kumara")
saman kumara
>>> print("saman \nkumara")
saman
kumara
>>>
මේ වගේ තවත් උදාහරණ කීපයක්
\t-print new tab
\"-print " mark

string එක ඇතුලේ "  " සලකුණු අතර යමක් print කිරීම.
එවිට print command එකට යොදාගන්නේ '  ' සලකුනුයි.
උදා-

>>> print('hi,"this is inside double quotes" now outside')
hi,"this is inside double quotes" now outside
>>>


string එක ඇතුලේ '  ' සලකුණු අතර යමක් print කිරීම.
එවිට print command එකට යොදාගන්නේ "  " සලකුනුයි.
උදා-

>>> print('hi,'this is inside single quotes' now outside')
hi,'this is inside single quotes' now outside
>>>






user ගෙන් ඉන්පුට් ලබා ගැනීම.
මේ සඳහා අපි භාවිතා කරන්නේ input command එක.
input("දිස් විය යුතු පණිවුඩය")
උදා-
>>> input("Enter your name:")
Enter your name:sahan
'sahan'
>>> 
මෙහිදී Enter your name: යන්න print වන අතර එයට පසුව ඔබට අවශ්‍ය දත්තය type කරන්න පුළුවන්.
මෙහෙදී සියලුම දත්ත ලබාගන්නේ string data type එකෙන් වන අතර අපිට අංකයක් ලබාගත යුතුනම් string එකක් ලෙස ලබාගෙන integer එකක් හෝ float එකකට හෝ වෙනත් data type එකකට චොන්වෙර්ට් කරගත යුතු වනවා.

Type Conversion in python

integer එකකට-int(පරිවර්තනය කල යුතු අගය.)
float එකකට-float(පරිවර්තනය කල යුතු අගය.)
string  එකකට-str(පරිවර්තනය කල යුතු අගය.)
උදා-
>>> numm1=input("Enter a number:")
Enter a number:12
>>> numm2=input("Enter another number:")
Enter another number:10
>>> numm1
'12'
>>> type(numm1)
<class 'str'>
>>> print(int(numm1)+int(numm2))
22
>>> int(22.4)
22
>>> float(20)
20.0
>>> str(1234)
'1234'
>>> 

මේ දක්වා අප විසින් සිදු කලේ python පිලිබඳ මුලික හැදින්වීමක්  පමණයි.එම හැඳින්වීම මේ post එකත් සමගම අවසාන වෙනවා.මීළඟ post එකෙන් පරිගණක භාෂාවේ තිබෙන ප්ප්‍රදාන කාරනා පිලිබඳ කතාකරන්න බලාපොරොත්තු වෙනවා.(loops,data structures වගේ දේවල්).python වල string ගෙන කතා කරන්න තව ගොඩක් දීවල් තියෙනවා.අපි එවත් ඉදිරියේදී සාකච්චා කරනවා.
මේ ලිපිය පිලිබඳ ඔබේ අදහස් comment එකක් විදියට දාල යන්න.

Friday, February 8, 2013

python හි අංක සහ ගණිතකර්ම භාවිතය-1 කොටස

මුලින්ම කියන්නෝ ඕනේ මම මෙතන ඉඳල තියෙන ඔක්කොම පාඩම් වලට පාවිච්චි කරන්නේ python 3.3 අලුත් version එක.කලින් අපි පාවිච්චි කලේ python 3.2 . ඒක සහ නව සංස්කරණය අතර ලොකු වෙනසක් නැති  බවත් කියන්න ඕනේ.
python වල variables  භාවිතා කරන ආකාරය ගැන අපි කලින් අපි මුලික හැඳින්වීමක් කලා.අපි දැන් විශේෂයෙන්ම අංක භාවිතා කරන ආකාරය සහ ගණිතකර්ම සිදු කරන ආකාරය තමයි කියන්න යන්නේ. python වල  විවිධ කටයුතු සඳහා විවිධ data types භාවිතා වෙනවා.මේවගෙන් integer ගෙන කලින් කතාකලා.
අපි ඊ ලඟට බලමු float කියන data type එක ගැන.
අපි float පාවිච්චි කරන්නේ දශම සහිත අංක බාවිතාකරන විටයි.
උදා-
>>> type (3.2)
<class 'float'>
>>>
ඒ වගේම සංකීර්ණ සංක්යා වලටත් data type එකක් තියෙනවා.ඒ තමයි complex කියන type එක.මම මෙහිදී සංකීර්ණ සන්කයා ගෙන විස්තර කරන්න යන්නේ නැහැ.
>>> type (12j+45)
<class 'complex'>
>>>

මෙහි අතාත්වික කොටස අවසානයේ j අකුර ඇතුල් කලයුතු වනවා. තාත්වික කොටස සාමාන්‍ය පරිදිම ඇතුල් කරන්න පුළුවන්.

මුලික ගණිත කර්ම

එකතු කිරීම සහ අඩු කිරීම.
ඔබට අවශ්‍ය අංක පහත ආකාරයට එකතු කිරීම සහ අඩු කිරීම කරන්න පුලුවන්.
>>> 3+3
6
>>> 123-456
-333
>>> a=12+34
>>> a-100
-54
>>> 100+23-78+22
67
>>>

දශම සංක්යා
>>> 12.4+34.32
46.72
>>> 3234.353+4235.2334
7469.5864
>>> 321.42-42342.432
-42021.012
>>>
මම හිතනවා ඔබට මෙය සිදු කරන ආකාරය පහසුවෙන් තේරුම් ගන්න පුළුවන් වෙයි කියල.

ගුණ කිරීම
මෙහිදී ගුණකිරීමේ ලකින ලෙස බාවිතා කරන්නේ * සලකුණයි.
>>> 12*3
36
>>> 23*3+2
71
>>> 12*34-34*2
340
>>>

දශම සංක්යා
 >>> 12.34*123.2
1520.288
>>> 213.23*32.3
6887.328999999999

 මේවිදියටඉතාවශාල සන්ක්යා දෙකක් උනත් ගුණ කරන්න පුළුවන්.අනිත් පරිගණක භාෂා වල මෙමෙ ලක්ෂණය දැකගන්න ලැබෙනවා හරිම අඩුයි.
>>> 321342432435325*234235325236
75269749173615706910361700
>>> 432523576347564786786357867386*435437864376893467893467398576
188337142377439842995185698195227942108465030121140613242336
>>> 54365346436546546547654754767678678676765765*3243267832763275625725672567256785
176321379314682987407847349856026907627070623366810443848533270449282051965525
>>>  
මෙය භාවිතාකරන ආකාරය වගේම අනිත් ගණිත කර්ම සමග මිශ්‍රව භාවිතා කරන ආකාරය ඔබට දැකගන්න පුළුවන්.


බෙදීම

මෙහිදී බෙදීමේ සලකුණ ලෙස භාවිතාකරන්නේ /සලකුණ.
 >>> 12/3
4.0
>>> 16/8
2.0
>>> 100/4
25.0
>>>
තවත් උදාහරණ කීපයක්
>>> 12/5
2.4
>>> 123455/123
1003.69918699187
>>>

දශම සංක්යා
 >>> 12.34/234.1
0.05271251601879539
>>> 1234.345/23.45
52.637313432835825
>>>

Modulus Operation
මෙම ගණිත කර්මය තුලින් අපිට අංක දෙකක් බෙදුවම ඉතිරිය ලබාගන්න පුළුවනි.මේ සඳහා භාවිතා කරන්නේ % සලකුණ.
උදා-
>>> 5%3
2
>>> 12%3
0
>>> 123%12
3
>>> 

සංකීර්ණ සන්ක්‍යා සඳහා ගණිතකර්ම.
සාමාන්‍ය ගනිතකර්ම ම සාමාන්‍ය ආකාරයට භාවිතා කරන්න පුළුවන් පහත උදාහරණය බලන්න
>>> 12j-3+23j+12
(9+35j)
>>> (12j-1)*(22j+6)
(-270+50j)
>>> (34j-67)/(15j-23)
(2.7201591511936343+0.2957559681697614j)
>>>

 අංක විද්‍යාත්මක අන්කනයෙන් යෙදීම උදා- 12*1034 අපි python වල ලියන්නේ මෙහෙයි.
 >>> 12e34
1.2e+35
>>> 

මේවාත් සාමාන්‍ය විදියටම ගණිතකර්ම වලට භාවිතා කරන්න පුළුවන්.


අපි දැන් python වල ගණිතකර්ම කිරීම පිලිබඳ මුලික හඳුන්වාදීමක් කලා.
  මේ code කරපු idle එකේ photo එකක් පහත තිබෙනවා.මේක බලල හොද නරක ගැන comment එකක් දල යන්න.