BREAKING NEWS
🚀 Kaweesha launched the new AI Tech Blog! 💻 Python & Java Tutorials are now live. 🎮 Game Development Guide: Building 2D Games with Godot. 🌐 Web Hosting secrets revealed - Check the latest post!

Python Sinhala - Part 03: පරිගණකයට මොළයක් දෙමු! (Operators & Logic) 🧠💡

Python Operators and If Else Logic Control Flow Sinhala Tutorial Part 03 - Making decisions with code

කලින් පාඩමේදී (Part 02) අපි ඉගෙන ගත්තා කොහොමද දත්ත (Data) ගබඩා කරන්නේ කියලා. හැබැයි යාලුවනේ, Data තිබුනට විතරක් මදි. ඒ Data පාවිච්චි කරලා වැඩක් ගන්න නම් පරිගණකයට "තර්කානුකූලව හිතන්න" (Logic) උගන්නන්න ඕනේ.

උදාහරණයකට හිතන්න, ඔයා Facebook Log වෙද්දි පරිගණකය කොහොමද හරියටම දන්නේ ඔයාගේ Password එක හරිද වැරදිද කියලා? අන්න ඒ "මැජික් එක" තමයි අද අපි ඉගෙන ගන්නේ. මේ පාඩම හරියට අල්ලගත්තොත්, ඔයාට ඕනම Software එකක් (Calculator එකේ ඉඳන් Bank System එකක් වෙනකම්) හදන්න පුළුවන් පදනම වැටෙනවා. 🏛️

1. Python ගණිත කර්ම (Arithmetic Operators) ➕➖

අපි ඉස්කෝලේ 1 වසරෙදි ඉගෙන ගත්ත එකතු කිරීම, අඩු කිරීමම තමයි මෙතනත් තියෙන්නේ. හැබැයි Python වල ඊට වඩා විශේෂ වැඩ කෑලි ටිකක් තියෙනවා.

මූලික ගණිත කර්ම:

  • + (එකතු කිරීම): 10 + 5 → 15
  • - (අඩු කිරීම): 10 - 5 → 5
  • * (ගුණ කිරීම): 10 * 5 → 50
  • / (බෙදීම): 10 / 2 → 5.0 (Python වල බෙදුවම හැමතිස්සෙම දශම එනවා!)

වැඩ්ඩො පාවිච්චි කරන Special Operators 🚀

මේවා තමයි ගොඩක් අයට අලුත් දේවල්. මේවා Programming වලදි මාරම වැදගත්.

  1. Modulo Operator (%) - ඉතිරිය සෙවීම:
    අපි ඉලක්කමක් බෙදුවම ඉතුරු වෙන්නේ කීයද? මේක තමයි අපිට ඉලක්කමක් ඔත්තේ ද (Odd) ඉරට්ටේ ද (Even) කියලා හොයන්න උදව් වෙන්නේ.
    10 % 3 (10 තුනෙන් බෙදුවම ඉතිරිය 1 යි).
  2. Floor Division (//) - පූර්ණ සංඛ්‍යාව විතරක් ගැනීම:
    දශම නැතුව උත්තරේ ඕන නම් මේක පාවිච්චි කරනවා.
    10 // 3 (උත්තරේ 3 යි. අර .333 කෑල්ල හලනවා).
  3. Exponentiation (**) - බලය සෙවීම:
    වර්ගඵලය හොයන්න වගේ වැඩ වලට.
    2 ** 3 (2 බලය 3 = 8).

2. ප්‍රශ්න අහමු (Comparison Operators) ❓

පරිගණකයට තීරණ ගන්න නම්, අපි එයාගෙන් ප්‍රශ්න අහන්න ඕනේ. ඒ ප්‍රශ්න වලට එයා දෙන උත්තරේ හැමතිස්සෙම True (ඔව්) හෝ False (නෑ) විතරයි.

x = 10
y = 20

print(x == y) # x සහ y සමානද? -> False
print(x != y) # x සහ y අසමානද? -> True
print(x > y) # x ට වඩා y ලොකුද? -> False
⚠️ ලොකුම පැටලිල්ල (The "=" vs "==" Trap):
  • = (තනි ලකුණ): මේකෙන් කරන්නේ අගයක් දාන එක (Assignment). (Ex: a = 10)
  • == (ඩබල් ලකුණ): මේකෙන් කරන්නේ අගයන් දෙකක් සමානද කියලා චෙක් කරන එක (Comparison).
මේක මාරු කරගන්න එපා!

3. තර්ක එකතු කිරීම (Logical Operators) 🧠

හිතන්න ඔයාට Facebook Log වෙන්න නම්, Username එක සහ Password එක කියන දෙකම හරි වෙන්න ඕනනේ. අන්න ඒ වගේ කොන්දේසි එකතු කරන්න මේවා ඕන වෙනවා.

  • and (සහ): කොන්දේසි දෙකම හරි නම් විතරයි True වෙන්නේ.
    (Username හරි and Password හරි).
  • or (හෝ): කොන්දේසි දෙකෙන් එකක් හරි ගියත් ඇති.
    (Cash වලින් ගෙවන්න or Card එකෙන් ගෙවන්න).
  • not (නෙමෙයි): තියෙන දේ අනිත් පැත්ත ගහනවා.
    (True නම් False කරනවා).

4. තීරණ ගැනීම (If / Else / Elif) 🚦

දැන් තමයි පාඩමේ හොඳම හරිය. අපි උඩින් ඉගෙන ගත්ත හැම දේම එකතු කරලා, පරිගණකයට තීරණ ගන්න (Decision Making) උගන්නමු. මේක හරියට පාරේ තියෙන Traffic Light එක වගේ.

The Syntax (ලියන විදිය)

age = 18

# 1. මූලික කොන්දේසිය (If)
if age >= 18:
    print("ඔයාට ඡන්දය දාන්න පුළුවන්! ✅")

# 2. ඊළඟ විකල්පය (Else)
else:
    print("සොරි මචං, ඔයා තාම පොඩි වැඩි! ❌")
📏 ඉඩ තැබීමේ රහස (Indentation):
ඔයා දැක්කද print එකට කලින් මම පොඩි ඉඩක් තියලා තියෙනවා? Python වල මේක අනිවාර්යයි! අනිත් පේළි වලට වඩා පොඩ්ඩක් ඉස්සරහට (Tab Key එක ඔබලා) ලිව්වම තමයි Python දන්නේ "ආ මේක අයිති if එකට" කියලා. නැත්නම් Error එනවා.

විකල්ප ගොඩක් තියෙනකොට? (Elif)

හිතන්න ඔයා විභාගෙක Result එකක් Check කරනවා. A, B, C, S, F කියලා ප්‍රතිඵල ගොඩක් තියෙනවනේ. එතකොට අපි පාවිච්චි කරන්නේ elif (Else If) එක.

marks = 75

if marks >= 75:
    print("Result: A (සුපිරි! 🥇)")

elif marks >= 65:
    print("Result: B (නරකම නෑ! 🥈)")

elif marks >= 50:
    print("Result: C (ෂේප්! 🥉)")

else:
    print("Result: F (ඊළඟ පාර ගොඩ දාමු! 💪)")

අද දවසේ අභියෝගය (Mini Project) 🚀

දැන් ඔයා Operators සහ If/Else දන්නවා. මේ දැනුම පාවිච්චි කරලා අපි හදමු "Exam Result Calculator" එකක්.

කරන්න ඕන දේ:

  1. User ගෙන් ලකුණු (Marks) ඉල්ලන්න (Input).
  2. ඒක Int එකක් බවට හරවන්න.
  3. If/Elif/Else පාවිච්චි කරලා එයාගේ Grade එක (A/B/C/F) කියන්න.
  4. Bonus: කවුරු හරි 100 ට වඩා වැඩි අංකයක් ගැහුවොත් "බොරු ගහන්න එපා යකෝ!" කියලා Error එකක් එන්න හදන්න පුළුවන්ද? 😉

මේ කෝඩ් එක තනියම ලියන්න උත්සාහ කරන්න. බැරි වුනොත් විතරක් පහළින් අහන්න.

ඊළඟ කොටසින්: එකම වැඩේ 100 පාරක් කරන්නේ කොහොමද? (Loops & Cycles) 🔄
දිගටම KP Tech Gear සමඟ රැඳී සිටින්න! 👇

Author

About

Tech enthusiast, Python/Java Developer, and Gamer. Sharing knowledge about coding and modern technology.

Discussion

Kaweesha AI ×
Hello Kaweesha! I am ready to help with Python, Java, or Hosting queries. 🤖