Python Arithmetic Operators
Arithmetic Operators ဆိုတာ?
ဒါတွေက ဂဏန်း (Numbers) တွေပေါ်မှာ အလုပ်လုပ်တဲ့ ကောင်တွေ။ သင်္ချာမှာ သုံးတဲ့ ပေါင်း၊ နှုတ်၊ မြှောက်၊ စား အားလုံးကို Python မှာ လုပ်လို့ရတယ်။
Python မှာ Arithmetic Operators ၇ မျိုး ရှိတယ်။ ပထမ ၄ ခုက ရိုးရိုး သင်္ချာ။ နောက် ၃ ခုက နည်းနည်းဆန်းတယ်။ Developer တွေသုံးတယ်။
အခြေခံ Operators (၄) မျိုး
1. + (Addition - ပေါင်း)
ရိုးတယ်။ ပေါင်းတာ။
x = 10
y = 5
print(x + y) # 10 + 5
# အဖြေ: 152. - (Subtraction - နှုတ်)
ဒါလည်း တူတူပဲ။ နှုတ်တာ။
x = 10
y = 5
print(x - y) # 10 - 5
# အဖြေ: 53. * (Multiplication - မြှောက်)
Computer မှာ 'x' (အမြှောက်) မသုံးဘူး။ ကြယ်ပွင့် * ကို သုံးတယ်။
x = 10
y = 5
print(x * y) # 10 * 5
# အဖြေ: 504. / (Division - စားခြင်း)
ဒါက စားတာ။ ဒါပေမယ့် အရေးကြီးတဲ့ တစ်ချက်ရှိတယ်။
10 ကို 5 နဲ့ စားရင် 2 (Integer) မဟုတ်ဘူး။ 2.0 (Float) ဆိုပြီး ပြန်ပေးတယ်။
x = 10
y = 5
print(x / y) # 10 / 5
# အဖြေ: 2.0 (Float ဖြစ်နေတာ သတိထားပါ)
# နောက်ထပ် ဥပမာ
print(9 / 2)
# အဖြေ: 4.5အ Chill ဆုံး Operators (၃) မျိုး
အပေါ် ၄ ခုက ရိုးတယ်။ အခုလာမယ့် ၃ ခုက နည်းနည်းဆန်းတယ်။ Developer တွေအသုံးများတယ်။
5. % (Modulus - အကြွင်းရှာတာ)
ဒီကောင်က စားလဒ်ကို မယူဘူး။ အကြွင်းကိုပဲ ယူတယ်။ % (percent) ပုံစံလေးနဲ့ ရေးတယ်။
# ဥပမာ: ၇ ကို ၃ နဲ့ စားရင်...
# ၃ နှစ်လီ ၆၊ အကြွင်း ၁
print(7 % 3)
# အဖြေ: 1
# နောက်တစ်ခု: 10 % 2
# ၁၀ ကို ၂ နဲ့ စားရင် ၅ လီ ၁၀၊ အကြွင်း ၀
print(10 % 2)
# အဖြေ: 0• number % 2 က 0 နဲ့ ညီရင်၊ အဲ့ဒါ စုံဂဏန်း။
• number % 2 က 1 နဲ့ ညီရင်၊ အဲ့ဒါ မဂဏန်း။
# စုံဂဏန်း / မဂဏန်း စစ်တာ
number = int(input("ဂဏန်းတစ်ခု ထည့်ပါ: "))
if number % 2 == 0:
print(f"{number} က စုံဂဏန်း")
else:
print(f"{number} က မဂဏန်း")6. ** (Exponentiation - ထပ်ကိန်းတင်တာ)
ဒါက ထပ်ကိန်းတင်တာ။ ဥပမာ 5² (၅ နှစ်ထပ်) ကို ရေးချင်ရင် 5**2 လို့ ရေးတယ်။ ကြယ်ပွင့် နှစ်ခါ။
# 5 နှစ်ထပ် (5 * 5)
print(5 ** 2)
# အဖြေ: 25
# 2 သုံးထပ် (2 * 2 * 2)
print(2 ** 3)
# အဖြေ: 8
# 10 လေးထပ်
print(10 ** 4)
# အဖြေ: 100007. // (Floor Division - အကြွင်းဖြုတ်စားတာ)
ဒီကောင်က / (စားခြင်း) နဲ့ ခပ်ဆင်ဆင်ပဲ။ ဒါပေမယ့် သူက ဒသမ အကုန်ဖြုတ်ပစ်တယ်။ စားလဒ် ရဲ့ ကိန်းပြည့် (Integer) ပိုင်းကိုပဲ ယူတယ်။
# ပုံမှန်စားခြင်း နဲ့ Floor Division နှိုင်းယှဉ်ကြည့်မယ်
print(9 / 2) # ပုံမှန်စား
# အဖြေ: 4.5
print(9 // 2) # အကြွင်းဖြုတ်စား
# အဖြေ: 4
# နောက်ဥပမာ: 7 // 3
# ၇ ကို ၃ နဲ့ စားရင် ၂ လီ ၆၊ အကြွင်း ၁
# စားလဒ်က 2 (ဒသမက 2.333...)
# // က ဒသမဖြုတ်ပစ်တော့ 2 ပဲ ကျန်တယ်
print(7 // 3)
# အဖြေ: 2• / က အမြဲ float ပြန်ပေးတယ် (ဥပမာ: 10/5 = 2.0)
• // က integer ပြန်ပေးတယ် (ဥပမာ: 10//5 = 2)
ဘယ်ကောင် အရင်တွက်လဲ? (Order of Operations)
bro stuck သွားနိုင်တဲ့ နေရာ။
x = 5 + 3 * 2
# ဒီမှာ 5 + 3 (၈) ကို အရင်လုပ်ပြီး * 2 (၁၆) လား?
# ဒါမှမဟုတ် 3 * 2 (၆) ကို အရင်လုပ်ပြီး 5 + (၁၁) လား?Python (သင်္ချာ) မှာ ဦးစားပေး (Precedence) ဆိုတာ ရှိတယ်။ ကျနော်တို့ ငယ်ငယ်က PEMDAS ဆိုပြီး သင်ခဲ့ရသလိုပေါ့။
Operator Precedence (ဦးစားပေးအစီအစဉ်):
- ( ) (ကွင်း) - ကွင်းထဲကကောင်က အနိုင်ဆုံး။ အရင်ဆုံး ရှင်းမယ်။
- ** (ထပ်ကိန်း) - ဒုတိယ ဦးစားပေး။
- * , / , // , % - ဒီ ၄ ကောင်က level တူ။ ဘယ်ကနေ ညာ (Left-to-Right) တွက်သွားမယ်။
- + , - - ဒီ ၂ ကောင်က level တူ။ နောက်ဆုံးမှ တွက်တယ်။ ဘယ်ကနေ ညာ တွက်တယ်။
ဥပမာ (၁) - ခုနက ပုစ္ဆာ
x = 5 + 3 * 2
# * (အမြှောက်) က + (အပေါင်း) ထက် ဦးစားပေး။
# 3 * 2 (၆) ကို အရင်တွက်တယ်။
# ပြီးမှ 5 + 6 (၁၁) ကို တွက်တယ်။
print(x)
# အဖြေ: 11ဥပမာ (၂) - ကွင်း () သုံး
bro က 5 + 3 ကိုပဲ အရင်လုပ်ချင်ရင်၊ သူ့ကို ကွင်းခတ်လိုက်။
x = (5 + 3) * 2
# ( ) (ကွင်း) က အနိုင်ဆုံး။
# 5 + 3 (၈) ကို အရင်တွက်တယ်။
# ပြီးမှ 8 * 2 (၁၆) ကို တွက်တယ်။
print(x)
# အဖြေ: 16ဥပမာ (၃) - ရှုပ်ပွေတဲ့ အတွက်အချက်
result = 2 + 3 ** 2 * 4 - 10 / 5
# အဆင့်ဆင့် ခွဲကြည့်မယ်:
# 1. 3 ** 2 = 9 (ထပ်ကိန်း အရင်)
# 2. 9 * 4 = 36 (ဘယ်ကနေညာ)
# 3. 10 / 5 = 2.0 (ဘယ်ကနေညာ)
# 4. 2 + 36 = 38 (ဘယ်ကနေညာ)
# 5. 38 - 2.0 = 36.0
print(result)
# အဖြေ: 36.0ဥပမာတွေ
Example 1: Calculator
print("=== Calculator ===")
num1 = float(input("ပထမ ဂဏန်း: "))
num2 = float(input("ဒုတိယ ဂဏန်း: "))
print(f"\nပေါင်းခြင်း: {num1} + {num2} = {num1 + num2}")
print(f"နုတ်ခြင်း: {num1} - {num2} = {num1 - num2}")
print(f"မြှောက်ခြင်း: {num1} * {num2} = {num1 * num2}")
print(f"စားခြင်း: {num1} / {num2} = {num1 / num2}")
print(f"အကြွင်းဖြုတ်စား: {num1} // {num2} = {num1 // num2}")
print(f"အကြွင်း: {num1} % {num2} = {num1 % num2}")
print(f"ထပ်ကိန်း: {num1} ** {num2} = {num1 ** num2}")Example 2: Time Conversion (အချိန် ပြောင်းတာ)
print("=== စက္ကန့်ကနေ နာရီ/မိနစ်/စက္ကန့် ပြောင်းမယ် ===")
total_seconds = int(input("စက္ကန့် အရေအတွက်: "))
# တွက်ချက်မယ်
hours = total_seconds // 3600 # 1 နာရီ = 3600 စက္ကန့်
remaining = total_seconds % 3600 # အကြွင်း စက္ကန့်
minutes = remaining // 60 # 1 မိနစ် = 60 စက္ကန့်
seconds = remaining % 60 # ကျန်တဲ့ စက္ကန့်
print(f"\n{total_seconds} စက္ကန့် ဆိုတာ:")
print(f"{hours} နာရီ {minutes} မိနစ် {seconds} စက္ကန့်")Example 3: မိနစ်ကနေ နာရီနဲ့မိနစ် ပြောင်းတာ
print("=== မိနစ်ကနေ နာရီ/မိနစ် ပြောင်းမယ် ===")
total_minutes = int(input("မိနစ် အရေအတွက်: "))
# တွက်ချက်မယ်
hours = total_minutes // 60
minutes = total_minutes % 60
print(f"\n{total_minutes} မိနစ် ဆိုတာ:")
print(f"{hours} နာရီ {minutes} မိနစ်")
# ဥပမာ Output:
# Input: 135 မိနစ်
# Output: 2 နာရီ 15 မိနစ်Example 4: ရက်ကနေ နှစ်/လ/ရက် ပြောင်းတာ
print("=== ရက်ကနေ နှစ်/လ/ရက် ပြောင်းမယ် ===")
total_days = int(input("ရက် အရေအတွက်: "))
# တွက်ချက်မယ် (1 နှစ် = 365 ရက်၊ 1 လ = 30 ရက် ခန့်မှန်း)
years = total_days // 365
remaining = total_days % 365
months = remaining // 30
days = remaining % 30
print(f"\n{total_days} ရက် ဆိုတာ:")
print(f"{years} နှစ် {months} လ {days} ရက်")
# ဥပမာ Output:
# Input: 400 ရက်
# Output: 1 နှစ် 1 လ 5 ရက်Example 5: ဈေးဝယ်ပြေစာ တွက်စက်
print("=== ဈေးဝယ် ပြေစာ ===")
# ပစ္စည်း ဈေးနှုန်းများ
item1 = float(input("ပစ္စည်း (၁) ဈေး: "))
item2 = float(input("ပစ္စည်း (၂) ဈေး: "))
item3 = float(input("ပစ္စည်း (၃) ဈေး: "))
# စုစုပေါင်း
subtotal = item1 + item2 + item3
# အခွန် (5%)
tax = subtotal * 0.05
# စုစုပေါင်း အဖိုး
total = subtotal + tax
print(f"\nစုစုပေါင်း (မပါသေး): {subtotal} ကျပ်")
print(f"အခွန် (5%): {tax} ကျပ်")
print("----------------------------")
print(f"စုစုပေါင်း: {total} ကျပ်")
# ငွေပေးပြီး အကြွေး တွက်မယ်
paid = float(input("\nပေးချေသော ငွေ: "))
change = paid - total
print(f"အကြွေး: {change} ကျပ်")Example 6: Average (ပျမ်းမျှ) တွက်တာ
print("=== ပျမ်းမျှ တွက်စက် ===")
# ၅ ခုရဲ့ ပျမ်းမျှ တွက်မယ်
num1 = float(input("ဂဏန်း (၁): "))
num2 = float(input("ဂဏန်း (၂): "))
num3 = float(input("ဂဏန်း (၃): "))
num4 = float(input("ဂဏန်း (၄): "))
num5 = float(input("ဂဏန်း (၅): "))
# စုစုပေါင်း
total = num1 + num2 + num3 + num4 + num5
# ပျမ်းမျှ (စုစုပေါင်း / အရေအတွက်)
average = total / 5
print(f"\nစုစုပေါင်း: {total}")
print(f"ပျမ်းမျှ: {average}")အနှစ်ချုပ်
Operators အကျဉ်း:
- + , - , * , / - ဒါတွေက ရိုးရိုး သင်္ချာ။ / တစ်ခုကပဲ float ပြန်ပေးတာ မမေ့နဲ့။
- % - အကြွင်းရှာတာ။ စုံ/မ စစ်ရင်
- ** - ထပ်ကိန်းတင်တာ။
- // - ဒသမဖြုတ်စားတာ။
- ( ) - ကွင်းခတ်လိုက်ရင် အနိုင်ဆုံး။ အဲ့ကောင်ကို အရင်ရှင်းတယ်။
Order of Operations မှတ်ထားရမယ့် အစီအစဉ်:
1. ( ) Parentheses - ကွင်း
2. ** Exponentiation - ထပ်ကိန်း
3. * / // % - မြှောက်/စား/အကြွင်းဖြုတ်စား/အကြွင်း (ဘယ်ကနေညာ)
4. + - - ပေါင်း/နုတ် (ဘယ်ကနေညာ)Quick Reference
# အခြေခံ Arithmetic Operators
print(10 + 5) # 15 (ပေါင်း)
print(10 - 5) # 5 (နုတ်)
print(10 * 5) # 50 (မြှောက်)
print(10 / 5) # 2.0 (စား - float ပြန်ပေးတယ်)
print(10 % 3) # 1 (အကြွင်း)
print(2 ** 3) # 8 (ထပ်ကိန်း)
print(10 // 3) # 3 (အကြွင်းဖြုတ်စား)
# Order of Operations
print(2 + 3 * 4) # 14 (3*4 အရင်, ပြီးမှ 2+)
print((2 + 3) * 4) # 20 (ကွင်းထဲက အရင်)
print(2 ** 3 * 2) # 16 (2**3 အရင်, ပြီးမှ *2)
# အသုံးဝင်တဲ့ ဥပမာများ
# စုံ/မ စစ်တာ
print(10 % 2 == 0) # True (စုံဂဏန်း)
print(7 % 2 == 0) # False (မဂဏန်း)
# အချိန် ပြောင်းလဲတာ
seconds = 3665
hours = seconds // 3600 # 1 နာရီ
minutes = (seconds % 3600) // 60 # 1 မိနစ်