Python Arithmetic Operators

Arithmetic Operators ဆိုတာ?

ဒါတွေက ဂဏန်း (Numbers) တွေပေါ်မှာ အလုပ်လုပ်တဲ့ ကောင်တွေ။ သင်္ချာမှာ သုံးတဲ့ ပေါင်း၊ နှုတ်၊ မြှောက်၊ စား အားလုံးကို Python မှာ လုပ်လို့ရတယ်။

Python မှာ Arithmetic Operators ၇ မျိုး ရှိတယ်။ ပထမ ၄ ခုက ရိုးရိုး သင်္ချာ။ နောက် ၃ ခုက နည်းနည်းဆန်းတယ်။ Developer တွေသုံးတယ်။

အခြေခံ Operators (၄) မျိုး

1. + (Addition - ပေါင်း)

ရိုးတယ်။ ပေါင်းတာ။

addition.py
x = 10 y = 5 print(x + y) # 10 + 5 # အဖြေ: 15

2. - (Subtraction - နှုတ်)

ဒါလည်း တူတူပဲ။ နှုတ်တာ။

subtraction.py
x = 10 y = 5 print(x - y) # 10 - 5 # အဖြေ: 5

3. * (Multiplication - မြှောက်)

Computer မှာ 'x' (အမြှောက်) မသုံးဘူး။ ကြယ်ပွင့် * ကို သုံးတယ်။

multiplication.py
x = 10 y = 5 print(x * y) # 10 * 5 # အဖြေ: 50

4. / (Division - စားခြင်း)

ဒါက စားတာ။ ဒါပေမယ့် အရေးကြီးတဲ့ တစ်ချက်ရှိတယ်။

အရေးကြီး: input() က အမြဲ str ပြန်ပေးသလို၊ / (စားခြင်း) က အမြဲတမ်း float (ဒသမကိန်း) ပဲ ပြန်ပေးတယ်။

10 ကို 5 နဲ့ စားရင် 2 (Integer) မဟုတ်ဘူး။ 2.0 (Float) ဆိုပြီး ပြန်ပေးတယ်။
division.py
x = 10 y = 5 print(x / y) # 10 / 5 # အဖြေ: 2.0 (Float ဖြစ်နေတာ သတိထားပါ) # နောက်ထပ် ဥပမာ print(9 / 2) # အဖြေ: 4.5

အ Chill ဆုံး Operators (၃) မျိုး

အပေါ် ၄ ခုက ရိုးတယ်။ အခုလာမယ့် ၃ ခုက နည်းနည်းဆန်းတယ်။ Developer တွေအသုံးများတယ်။

5. % (Modulus - အကြွင်းရှာတာ)

ဒီကောင်က စားလဒ်ကို မယူဘူး။ အကြွင်းကိုပဲ ယူတယ်။ % (percent) ပုံစံလေးနဲ့ ရေးတယ်။

modulus_example.py
# ဥပမာ: ၇ ကို ၃ နဲ့ စားရင်... # ၃ နှစ်လီ ၆၊ အကြွင်း ၁ print(7 % 3) # အဖြေ: 1 # နောက်တစ်ခု: 10 % 2 # ၁၀ ကို ၂ နဲ့ စားရင် ၅ လီ ၁၀၊ အကြွင်း ၀ print(10 % 2) # အဖြေ: 0
ဘယ်မှာသုံးလဲ? ဒီကောင်က ဂဏန်းတစ်ခုက စုံဂဏန်း (Even) လား၊ မဂဏန်း (Odd) လား စစ်တဲ့နေရာမှာ အသုံးတယ်။

• number % 2 က 0 နဲ့ ညီရင်၊ အဲ့ဒါ စုံဂဏန်း။
• number % 2 က 1 နဲ့ ညီရင်၊ အဲ့ဒါ မဂဏန်း။
even_odd_checker.py
# စုံဂဏန်း / မဂဏန်း စစ်တာ number = int(input("ဂဏန်းတစ်ခု ထည့်ပါ: ")) if number % 2 == 0: print(f"{number} က စုံဂဏန်း") else: print(f"{number} က မဂဏန်း")

6. ** (Exponentiation - ထပ်ကိန်းတင်တာ)

ဒါက ထပ်ကိန်းတင်တာ။ ဥပမာ 5² (၅ နှစ်ထပ်) ကို ရေးချင်ရင် 5**2 လို့ ရေးတယ်။ ကြယ်ပွင့် နှစ်ခါ။

exponentiation.py
# 5 နှစ်ထပ် (5 * 5) print(5 ** 2) # အဖြေ: 25 # 2 သုံးထပ် (2 * 2 * 2) print(2 ** 3) # အဖြေ: 8 # 10 လေးထပ် print(10 ** 4) # အဖြေ: 10000

7. // (Floor Division - အကြွင်းဖြုတ်စားတာ)

ဒီကောင်က / (စားခြင်း) နဲ့ ခပ်ဆင်ဆင်ပဲ။ ဒါပေမယ့် သူက ဒသမ အကုန်ဖြုတ်ပစ်တယ်။ စားလဒ် ရဲ့ ကိန်းပြည့် (Integer) ပိုင်းကိုပဲ ယူတယ်။

floor_division.py
# ပုံမှန်စားခြင်း နဲ့ 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 သွားနိုင်တဲ့ နေရာ။

order_problem.py
x = 5 + 3 * 2 # ဒီမှာ 5 + 3 (၈) ကို အရင်လုပ်ပြီး * 2 (၁၆) လား? # ဒါမှမဟုတ် 3 * 2 (၆) ကို အရင်လုပ်ပြီး 5 + (၁၁) လား?

Python (သင်္ချာ) မှာ ဦးစားပေး (Precedence) ဆိုတာ ရှိတယ်။ ကျနော်တို့ ငယ်ငယ်က PEMDAS ဆိုပြီး သင်ခဲ့ရသလိုပေါ့။

Operator Precedence (ဦးစားပေးအစီအစဉ်):

  • ( ) (ကွင်း) - ကွင်းထဲကကောင်က အနိုင်ဆုံး။ အရင်ဆုံး ရှင်းမယ်။
  • ** (ထပ်ကိန်း) - ဒုတိယ ဦးစားပေး။
  • * , / , // , % - ဒီ ၄ ကောင်က level တူ။ ဘယ်ကနေ ညာ (Left-to-Right) တွက်သွားမယ်။
  • + , - - ဒီ ၂ ကောင်က level တူ။ နောက်ဆုံးမှ တွက်တယ်။ ဘယ်ကနေ ညာ တွက်တယ်။

ဥပမာ (၁) - ခုနက ပုစ္ဆာ

precedence_example1.py
x = 5 + 3 * 2 # * (အမြှောက်) က + (အပေါင်း) ထက် ဦးစားပေး။ # 3 * 2 (၆) ကို အရင်တွက်တယ်။ # ပြီးမှ 5 + 6 (၁၁) ကို တွက်တယ်။ print(x) # အဖြေ: 11

ဥပမာ (၂) - ကွင်း () သုံး

bro က 5 + 3 ကိုပဲ အရင်လုပ်ချင်ရင်၊ သူ့ကို ကွင်းခတ်လိုက်။

precedence_example2.py
x = (5 + 3) * 2 # ( ) (ကွင်း) က အနိုင်ဆုံး။ # 5 + 3 (၈) ကို အရင်တွက်တယ်။ # ပြီးမှ 8 * 2 (၁၆) ကို တွက်တယ်။ print(x) # အဖြေ: 16
ရှင်းတယ်မလား။ ကွင်း () က အနိုင်ဆုံး။ မသေချာရင် ကွင်းခတ်လိုက်တာ အကောင်းဆုံး။

ဥပမာ (၃) - ရှုပ်ပွေတဲ့ အတွက်အချက်

complex_calculation.py
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

simple_calculator.py
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 (အချိန် ပြောင်းတာ)

seconds_to_time.py
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: မိနစ်ကနေ နာရီနဲ့မိနစ် ပြောင်းတာ

minutes_to_hours.py
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: ရက်ကနေ နှစ်/လ/ရက် ပြောင်းတာ

days_converter.py
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: ဈေးဝယ်ပြေစာ တွက်စက်

shopping_receipt.py
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 (ပျမ်းမျှ) တွက်တာ

average_calculator.py
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 မှတ်ထားရမယ့် အစီအစဉ်:

PEMDAS Rule
1. ( ) Parentheses - ကွင်း 2. ** Exponentiation - ထပ်ကိန်း 3. * / // % - မြှောက်/စား/အကြွင်းဖြုတ်စား/အကြွင်း (ဘယ်ကနေညာ) 4. + - - ပေါင်း/နုတ် (ဘယ်ကနေညာ)
Suggestion: မသေချာရင် ကွင်း () သုံးတာ အကောင်းဆုံး။ Code က ရှင်းလင်းပြီး အမှားနည်းတယ်။

Quick Reference

operators_reference.py
# အခြေခံ 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 မိနစ်