මූලික සංකල්ප (Basic Concepts)

පාඩම 1.4: ආදාන සහ ප්‍රතිදාන (Input and Output)

මෙතෙක් අපි ලියූ කේත වලට දත්ත ලබා දුන්නේ අපිමයි (උදා: name = "නිමල්"). ආදාන (Input) මඟින් වැඩසටහන ක්‍රියාත්මක වන විට පරිශීලකයාගෙන් (user) තොරතුරු ලබාගන්නා ආකාරයත්, ප්‍රතිදාන (Output) මඟින් පරිශීලකයාට තොරතුරු පෙන්වන ආකාරයත් අපි දැන් ඉගෙන ගනිමු.

ප්‍රතිදාන (Output): print() ශ්‍රිතය

පරිශීලකයාට තිරයේ යමක් පෙන්වීමට අපි print() ශ්‍රිතය භාවිතා කරන බව ඔබ දැනටමත් දන්නවා. අපි එහි තවත් භාවිත කිහිපයක් බලමු.

විචල්‍යයන්ගේ අගයන් පෙන්වීම:

name = "සිතාරා"
age = 28
print(name)
print(age)

එකම පේළියේ දේවල් කිහිපයක් පෙන්වීම:

ඔබට print() තුළ කොමාව (,) භාවිතයෙන් දේවල් කිහිපයක් එකවර පෙන්විය හැකියි. Python ස්වයංක්‍රීයව ඒවා අතර හිස්තැනක් (space) තබයි.

print("My name is", name, "and my age is", age)
My name is සිතාරා and my age is 28

f-strings (වඩාත් හොඳ ක්‍රමය):

විචල්‍යයන් සහ පෙළ (text) එකට සම්බන්ධ කිරීමට ඇති නවීන සහ පහසුම ක්‍රමය f-string වේ. උද්ධෘත ලකුණට පෙර f අකුර යොදා, විචල්‍යයේ නම දඟර වරහන් { } තුළ යොදන්න.

print(f"My name is {name} and my age is {age}.")
My name is සිතාරා and my age is 28.

ආදාන (Input): input() ශ්‍රිතය

වැඩසටහන ක්‍රියාත්මක වන විට පරිශීලකයාගෙන් දත්ත ලබාගැනීමට input() ශ්‍රිතය භාවිතා කරනවා.

වැඩසටහන input() ශ්‍රිතය හමුවූ විට නතර වී, පරිශීලකයා යමක් ටයිප් කර Enter යතුර ඔබන තුරු බලා සිටියි. පරිශීලකයාට උපදෙසක් දීමට, ඔබට වරහන් තුළ ප්‍රශ්නයක් ඇතුළත් කළ හැකිය.

user_name = input("කරුණාකර ඔබේ නම ඇතුළත් කරන්න: ")
print(f"ආයුබෝවන්, {user_name}!")

වැදගත්ම කරුණ: input() ශ්‍රිතය සැමවිටම ලබාදෙන දත්ත ස්ට්‍රින්ග් (str) වර්ගයේ වේ. ඔබ අංකයක් ඇතුළත් කළත්, එය ලැබෙන්නේ පෙළක් (text) ලෙසයි.

ගණනය කිරීමක් කිරීමට පෙර, එම ස්ට්‍රින්ග් එක නිවැරදි දත්ත වර්ගයට (උදා: int හෝ float) පරිවර්තනය කළ යුතුය. මෙය **Type Casting** ලෙස හඳුන්වයි.

උදාහරණය:

# පරිශීලකයාගෙන් වයස ලබා ගැනීම
age_str = input("ඔබේ වයස ඇතුළත් කරන්න: ")

# age_str යනු ස්ට්‍රින්ග් එකක් නිසා එයට 1ක් එකතු කළ නොහැක.
# ඒ නිසා අපි එය int (පූර්ණ සංඛ්‍යාවක්) බවට පරිවර්තනය කරමු.
age_int = int(age_str)

# දැන් අපිට ගණනය කිරීම කළ හැකියි
next_year_age = age_int + 1
print(f"ලබන වසරේ ඔබට වයස අවුරුදු {next_year_age} ක් වේ.")

කුඩා වැඩසටහනක්

අපි මේ සියල්ල එකතු කර සරල වැඩසටහනක් ලියමු.

# 1. පරිශීලකයාගෙන් නම අසන්න
name = input("ඔබේ නම කුමක්ද? ")

# 2. උපන් වර්ෂය අසා, එය int බවට පරිවර්තනය කරන්න
birth_year_str = input("ඔබ උපන් වර්ෂය කුමක්ද? ")
birth_year = int(birth_year_str)

# 3. වත්මන් වර්ෂය යොදාගෙන වයස ගණනය කරන්න
current_year = 2025
age = current_year - birth_year

# 4. අවසන් ප්‍රතිඵලය පෙන්වන්න
print(f"හොඳයි {name}, ඔබට මේ වසරට ආසන්න වශයෙන් වයස අවුරුදු {age} ක් වෙනවා.")

තවත් ප්‍රායෝගික උදාහරණ

1. සෘජුකෝණාස්‍රයක වර්ගඵලය සෙවීම
length_str = input("සෘජුකෝණාස්‍රයේ දිග ඇතුළත් කරන්න: ")
width_str = input("සෘජුකෝණාස්‍රයේ පළල ඇතුළත් කරන්න: ")

area = float(length_str) * float(width_str)
print(f"වර්ගඵලය: {area}")
2. ප්‍රියතම වර්ණය සහ නගරය ඇසීම
color = input("ඔබේ ප්‍රියතම වර්ණය කුමක්ද? ")
city = input("ඔබ ජීවත් වන නගරය කුමක්ද? ")

print(f"와우! {city} වල {color} පාට හරිම ලස්සන ඇති.")
3. සරල වට්ටම් ගණක යන්ත්‍රය
price_str = input("භාණ්ඩයේ මිල ඇතුළත් කරන්න: ")
discount_str = input("වට්ටම් ප්‍රතිශතය (%) ඇතුළත් කරන්න: ")

price = float(price_str)
discount = float(discount_str)

final_price = price - (price * discount / 100)
print(f"වට්ටමට පසු ගෙවිය යුතු මුදල: රු.{final_price}")
4. සංඛ්‍යා දෙකක එකතුව සහ සාමාන්‍යය
num1 = int(input("පළමු සංඛ්‍යාව: "))
num2 = int(input("දෙවන සංඛ්‍යාව: "))

total = num1 + num2
average = total / 2
print(f"සංඛ්‍යා දෙකේ එකතුව: {total}")
print(f"සංඛ්‍යා දෙකේ සාමාන්‍යය: {average}")
5. පණිවිඩයක් කිහිප වරක් පෙන්වීම
message = input("පෙන්විය යුතු පණිවිඩය: ")
count = int(input("කී වරක් පෙන්විය යුතුද? "))
print(message * count)
6. ශරීර ස්කන්ධ දර්ශකය (BMI) ගණනය කිරීම
weight_kg = float(input("ඔබේ බර (kg): "))
height_m = float(input("ඔබේ උස (m): "))

bmi = weight_kg / (height_m ** 2)
print(f"ඔබේ ශරීර ස්කන්ධ දර්ශකය (BMI): {bmi}")
7. පරිශීලකයාට සුබ පැතීම
first_name = input("ඔබේ මුල් නම: ")
last_name = input("ඔබේ අවසන් නම: ")
print(f"ආයුබෝවන්, {first_name} {last_name}! ඔබව හමුවීම සතුටක්.")
8. සරල කතාන්දරයක් සෑදීම
animal = input("සතෙකුගේ නමක් කියන්න: ")
sound = input("එම සතාගේ ශබ්දය කුමක්ද? ")
print(f"එක්තරා කැලෑවක {animal} කෙනෙක් ජීවත් වුණා. ඔහු හැමවිටම '{sound}!' '{sound}!' කියා කෑගැසුවා.")
9. ඉතිරි මුදල ගණනය කිරීම
wallet_money = float(input("ඔබේ මුදල් පසුම්බියේ ඇති මුදල: "))
item_cost = float(input("භාණ්ඩයේ මිල: "))

remaining = wallet_money - item_cost
print(f"භාණ්ඩය මිලදී ගත් පසු ඉතිරි මුදල: රු.{remaining}")
10. උෂ්ණත්වය සෙල්සියස් සිට ෆැරන්හයිට් වෙත පරිවර්තනය කිරීම
celsius = float(input("උෂ්ණත්වය සෙල්සියස් වලින් ඇතුළත් කරන්න: "))
fahrenheit = (celsius * 9/5) + 32
print(f"ෆැරන්හයිට් වලින් උෂ්ණත්වය: {fahrenheit}°F")

සුබ පැතුම්! ඔබ Python වල මූලික සංකල්ප සියල්ලම සාර්ථකව ඉගෙනගෙන අවසන්.