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 04: එකම දේ 1000 වතාවක් කරන්නේ කොහොමද? (Loops & Iteration) 🔄🔁

Python For Loop and While Loop Explanation Sinhala Tutorial Part 04 - Iteration and Control Flow

ඉස්කෝලේ යන කාලේ ඔයාට කවදාවත් දඬුවමක් හම්බෙලා තියෙනවද "මම ආයේ පන්තියේ කතා කරන්නේ නෑ" කියලා 100 පාරක් ලියන්න? 😩 ඒක මාරම වදයක් නේද?

මිනිස්සු විදියට අපි එකම දේ නැවත නැවත කරන්න කැමති නෑ. අපි ඉක්මනට මහන්සි වෙනවා, කම්මැලි වෙනවා. හැබැයි පරිගණකය කියන්නේ ඒකේ අනිත් පැත්ත. එයා කැමතිම දේ තමයි එකම වැඩේ කෝටි වාරයක් වුනත් නොනවත්වා කරන එක.

අද අපි බලන්නේ Programming වල තියෙන බලවත්ම සංකල්පයක් වන Loops (ලූප) ගැනයි. මේකෙන් පුළුවන් ඔයාගේ කෝඩ් එකේ බලය 1000 ගුණයකින් වැඩි කරන්න. ලෑස්තිද? 👇

1. මොකක්ද මේ Loop එකක් කියන්නේ? 🔄

සරලවම කිව්වොත්, "යම් කොන්දේසියක් සම්පූර්ණ වන තුරු, එකම කෝඩ් කොටසක් නැවත නැවත ක්‍රියාත්මක කිරීම" තමයි Loop එකක් කියන්නේ.

Python වල ප්‍රධාන Loop වර්ග දෙකක් තියෙනවා:

  1. While Loop: වැඩේ ඉවර වෙනකම් කරපන්! (කොන්දේසිය මත දුවන එක).
  2. For Loop: හරියටම මෙච්චර වාර ගණනක් කරපන්! (ගණන් කරලා දුවන එක).

2. While Loop - "වැඩේ වෙනකම් දුවමු" 🏃‍♂️

මේක හරියට ඔයාගේ අම්මා කියනවා වගේ "බත් එක කාලා ඉවර වෙනකම් TV බලන්න තහනම්" කියලා. බත් එක ඉවරද? නෑ. එහෙනම් කන්න. ඉවරද? නෑ. එහෙනම් කන්න. ඉවරද? ඔව්. ආන්න දැන් TV බලන්න.

count = 1

# count එක 5 ට වඩා අඩු හෝ සමාන වනතුරු දුවන්න
while count <= 5:
    print(f"මේක තමයි වාර අංක: {count}")
    count = count + 1 # මේ පේළිය නැතුව බැහැ!
⚠️ Infinite Loop (නොනවතින ලූපය):
උඩ කෝඩ් එකේ අන්තිම පේළිය (count = count + 1) අයින් කළොත් මොකද වෙන්නේ? count හැමදාම 1 යි. එතකොට කොන්දේසිය හැමදාම ඇත්ත (True). එතකොට මොකද වෙන්නේ? පරිගණකය නවතින්නේ නැතුව ඕක කෝටි වාරයක් Print කරලා හිර වෙනවා (Freeze වෙනවා).
විසඳුම: කෝඩ් එක නවත්තන්න CMD එකේ Ctrl + C ඔබන්න.

3. For Loop - "ගණන් කරලා දුවමු" 🔢

මේක තමයි Python වල වැඩියෙන්ම පාවිච්චි වෙන්නේ. අපිට හරියටම දන්නවා නම් වාර ගණන (උදා: 10 පාරක්), අපි ගන්නේ for loop එක.

මේකට අපි විශේෂ උදව්කාරයෙක් ගන්නවා. එයා තමයි range() Function එක.

Range Function එකේ රහස 📏
range(start, stop, step)
  • start: පටන් ගන්න අංකය (දුන්නේ නැත්නම් 0).
  • stop: නවතින අංකය (හැබැයි මේ අංකයට කලින් නවතිනවා!).
  • step: කීයෙන් කීයද පනින්නේ? (දුන්නේ නැත්නම් 1යි).
# 1 සිට 10 දක්වා Print කිරීම
for i in range(1, 11): # 11 දැම්මේ 10න් නවතින්න ඕන නිසා
    print(f"අංක: {i}")

List එකක් එක්ක For Loop (Magic) ✨

හිතන්න ඔයාට යාලුවෝ 3 දෙනෙක් ඉන්නවා. ඒ තුන් දෙනාටම "Good Morning" කියන්න ඕනේ.

friends = ["Kamal", "Nimal", "Sunil"]

for name in friends:
    print(f"Good Morning {name}!")

දැක්කද? name කියන එකට ඉබේම List එකේ නම් එකින් එක එනවා. C++, Java වල මේක කරන්න මාර අමාරුයි. Python වල පේළි 2යි.

4. වාහනේ බ්රේක් සහ ඇක්සලේටර් (Break & Continue) 🛑🚀

Loop එකක් දුවන අතරතුර අපිට හදිසියේ ඒක නවත්තන්න හෝ පැනලා යන්න ඕන වුනොත්?

  • break: ලූපය එතනින්ම කඩලා දාලා එළියට පැනීම. (Emergency Brake).
  • continue: මේ වටය විතරක් මඟ ඇරලා, ඊළඟ වටයට යාම. (Skip Song).
# Break උදාහරණය: 5 හම්බුන ගමන් නවතින්න
for i in range(1, 11):
    if i == 5:
        break
    print(i)
# Output: 1, 2, 3, 4 (5 නෑ)

Mini Project: Number Guessing Game 🎮

දැන් අපි ඉගෙන ගත්ත ඔක්කොම (Variables + Input + If/Else + Loops) එකතු කරලා සුපිරි ගේම් එකක් හදමු.

ගේම් එක: පරිගණකය 1ත් 10ත් අතර අංකයක් හිතාගන්නවා. ඔයා ඒක අනුමාන කරන්න ඕනේ. වැරදුනොත් ආයේ අහනවා. හරියට කිව්වොත් විතරක් නවතිනවා.

🎲 The Code

import random # Random අංක ගන්න උදව් වෙන කෙනා

secret_number = random.randint(1, 10)
guess = 0 # තාම මුකුත් අනුමාන කළේ නෑ

print("🤖 මම 1-10 අතර අංකයක් හිතුවා. පුළුවන් නම් හොයන්න!")

while guess != secret_number:
    guess_input = input("ඔයාගේ අංකය ගහන්න: ")
    guess = int(guess_input) # String එක int කරනවා

    if guess == secret_number:
        print("🎉 නියමයි! ඔයා හරියටම හෙව්වා!")
    elif guess < secret_number:
        print("පොඩි වැඩියි! තව ලොකු එකක් කියන්න. ⬆️")
    else:
        print("ලොකු වැඩියි! තව පොඩි එකක් කියන්න. ⬇️")

අවසාන වශයෙන්... 🏁

අද ඔයා මේ හැදුවේ නිකන්ම කෝඩ් එකක් නෙමෙයි, "Game Logic" එකක්. ලෝකේ තියෙන ලොකුම Games (GTA, PUBG) පවා දුවන්නේ මේ වගේ Loop එකක් (Game Loop) ඇතුලේ තමයි. මේක තේරුනා කියන්නේ ඔයා ලොකු ගමනක් ඇවිල්ලා.

ඊළඟ කොටසින්: දත්ත ගොඩක් එක පාර හසුරුවන හැටි (Lists & Data Structures) 📚
දිගටම 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. 🤖