Comparison & Logical Operators

Operators ဆိုတာ ဘာလဲ?

ဒီ Chapter မှာ Operator နှစ်မျိုးရှိတယ်။

  • Comparison Operators - တန်ဖိုးနှစ်ခုကို နှိုင်းယှဉ်စစ်ဆေးတာ။
  • Logical Operators - အခြေနေတွေကို ပေါင်းပြီးစစ်ဆေးတာ။

ဒီနှစ်ခုက အရေးပါတယ်။ Program တွေမှာ ဆုံးဖြတ်ချက်ချရမယ့် နေရာတိုင်းမှာ သုံးရတယ်။ If-Else Statement တွေမှာ မဖြစ်မနေ လိုတယ်။

Comparison Operators (နှိုင်းယှဉ်စစ်မယ်)

Comparison Operators တွေက ရိုးရှင်းတယ်။ သူတို့က တန်ဖိုး (value) နှစ်ခုကို နှိုင်းယှဉ်ပြီး မှန်လား (True) မှားလား (False) ဆိုတဲ့ အဖြေ (Boolean) တစ်ခုပဲ အမြဲတမ်း ပြန်ပေးတယ်။

1. == (ညီလား - Equal to)

မမှားနဲ့။
= (တစ်လုံးတည်း) က Variable ထဲကို တန်ဖိုးထည့်တာ (Assignment)။
x = 5 (x ထဲကို 5 ထည့်လိုက်တာ)

== (နှစ်လုံး) က တန်ဖိုးနှစ်ခု တူလား လို့ စစ်တာ (Comparison)။
x == 5 (x ထဲကကောင် 5 နဲ့ တူလား လို့ မေးတာ)

equal_operator.py
print(5 == 5) # 5 က 5 နဲ့ တူလား? # အဖြေ: True print(5 == 6) # 5 က 6 နဲ့ တူလား? # အဖြေ: False # String နဲ့လည်း သုံးလို့ရတယ် print("hello" == "hello") # အဖြေ: True

2. != (မညီဘူးလား - Not equal to)

== ရဲ့ ပြောင်းပြန်။ မတူဘူး ဆို True ပြန်ပေးတယ်။

not_equal_operator.py
print(5 != 6) # 5 က 6 နဲ့ မတူဘူးလား? (ဟုတ်တယ် မတူဘူး) # အဖြေ: True print(5 != 5) # 5 က 5 နဲ့ မတူဘူးလား? (မဟုတ်ဘူး တူတယ်) # အဖြေ: False

3. > (ကြီးလား - Greater than)

greater_than.py
print(10 > 5) # 10 က 5 ထက် ကြီးလား? # အဖြေ: True print(5 > 10) # 5 က 10 ထက် ကြီးလား? # အဖြေ: False

4. < (ငယ်လား - Less than)

less_than.py
print(10 < 5) # 10 က 5 ထက် ငယ်လား? # အဖြေ: False print(5 < 10) # 5 က 10 ထက် ငယ်လား? # အဖြေ: True

5. >= (ကြီးလား သို့မဟုတ် ညီလား - Greater than or equal to)

ကြီးလည်း True ပဲ။ တူလည်း True ပဲ။

greater_equal.py
print(10 >= 5) # 10 က 5 ထက် ကြီးတယ် (True) # အဖြေ: True print(10 >= 10) # 10 က 10 နဲ့ ညီတယ် (True) # အဖြေ: True print(5 >= 10) # 5 က 10 ထက် မကြီးဘူး (False) # အဖြေ: False

6. <= (ငယ်လား သို့မဟုတ် ညီလား - Less than or equal to)

ဒါလည်း တူတူပဲ။

less_equal.py
print(10 <= 5) # 10 က 5 ထက် မငယ်ဘူး (False) # အဖြေ: False print(10 <= 10) # 10 က 10 နဲ့ ညီတယ် (True) # အဖြေ: True print(5 <= 10) # 5 က 10 ထက် ငယ်တယ် (True) # အဖြေ: True

Comparison Operators အကျဉ်း:

comparison_summary.py
# Comparison Operators အားလုံး x = 10 y = 5 print(x == y) # False (10 နဲ့ 5 မတူ) print(x != y) # True (10 နဲ့ 5 မတူ) print(x > y) # True (10 က 5 ထက် ကြီး) print(x < y) # False (10 က 5 ထက် မငယ်) print(x >= y) # True (10 က 5 ထက် ကြီး) print(x <= y) # False (10 က 5 ထက် မငယ်)

Logical Operators

အပေါ်က True / False အဖြေတွေကို ပေါင်းစပ်ပြီး စစ်ဆေးဖို့ သုံးတယ်။

ဥပမာ - Club ဝင်ခွင့် စစ်မယ်:

  • အသက် 18 လည်း ပြည့်ရမယ်။ (AND)
  • ပိုက်ဆံ 5000 လည်း ပါရမယ်။

အဲ့လို AND တွေ OR တွေ သုံးတာကို Logical Operators လို့ခေါ်တယ်။

1. and (နှစ်ခုလုံး မှန်မှ မှန်မယ်)

and က စည်းကမ်းကြီးတယ်။ သူနဲ့ ချိတ်ထားတဲ့ အခြေနေ (Condition) နှစ်ခုလုံး True ဖြစ်မှ သူက True ပြန်ပေးတယ်။ တစ်ခုလေး False ဖြစ်တာနဲ့ သူက လုံးဝ False ဖြစ်သွားမယ်။

and_operator.py
age = 20 money = 10000 # (age > 18) က True၊ (money > 5000) က True print( (age > 18) and (money > 5000) ) # အဖြေ: True (ကဲ... bro ဝင်လို့ရပြီ)
and_false_example.py
age = 20 money = 3000 # ပိုက်ဆံမပြည့်ဘူး # (age > 18) က True၊ (money > 5000) က False print( (age > 18) and (money > 5000) ) # အဖြေ: False (True and False ဆိုတော့ False ပဲ။ bro ဝင်မရဘူး။)

and Operator Truth Table:

and_truth_table.py
# and Operator အလုပ်လုပ်ပုံ (နှစ်ခုလုံး True မှ True) print(True and True) # True print(True and False) # False print(False and True) # False print(False and False) # False

2. or (တစ်ခု မှန်ရင် မှန်ပြီ)

or က စိတ်ပူတယ်။ တစ်ခုခု True ဖြစ်တာနဲ့ သူက OK ပြီ၊ True ပြန်ပေးတယ်။ နှစ်ခုလုံး False ဖြစ်မှပဲ သူက False ဖြစ်တယ်။

ဥပမာ - Bus ကား စီးမယ်။ ကျောင်းသားကတ် ပါရင် ရတယ် OR VIP ကတ် ပါရင် ရတယ်။

or_operator.py
has_student_card = False has_vip_card = True # (False) or (True) print(has_student_card or has_vip_card) # အဖြေ: True (VIP ကတ် ပါတာနဲ့ စီးလို့ရပြီ)
or_false_example.py
has_student_card = False has_vip_card = False # (False) or (False) print(has_student_card or has_vip_card) # အဖြေ: False (နှစ်ခုလုံး မပါရင်တော့ သွားပြီ။ စီးမရဘူး။)

or Operator Truth Table:

or_truth_table.py
# or Operator အလုပ်လုပ်ပုံ (တစ်ခု True ရင် True) print(True or True) # True print(True or False) # True print(False or True) # True print(False or False) # False

3. not (ပြောင်းပြန်လှန်မယ်)

ဒါက အရှင်းဆုံး။ သူက True ကို False ပြောင်းတယ်။ False ကို True ပြောင်းတယ်။ ပြောင်းပြန်လှန်တာ။

not_operator.py
is_raining = True print(not is_raining) # အဖြေ: False is_raining = False print(not is_raining) # အဖြေ: True
Logical Operators အကျဉ်း:
  • and - နှစ်ခုလုံး True မှ True ပြန်ပေးတယ်။
  • or - တစ်ခု True ရင် True ပြန်ပေးတယ်။
  • not - True ကို False၊ False ကို True ပြောင်းတယ်။

Practical Examples

Example 1: Boss Fight Game

ကဲ... အကုန်ပေါင်းပြီး စမ်းကြည့်မယ်။

Scenario: ဂိမ်းတစ်ခုမှာ Boss ကို တိုက်ခွင့်ရဖို့ စစ်မယ်။

  • bro level က 50 ကျော် ရမယ် AND bro strength က 100 ကျော် ရမယ်။
  • OR (ဒါမှမဟုတ်) bro မှာ Special Key (အထူးသော့) ရှိရမယ်။
boss_fight_game.py
level = 45 strength = 120 has_special_key = True # ကွင်း ( ) ကို သေချာကြည့်။ and ကို အရင်ရှင်းမယ်။ can_fight_boss = (level > 50 and strength > 100) or (has_special_key == True) # ရှင်းပြချက်: # 1. (level > 50) -> (45 > 50) -> False # 2. (strength > 100) -> (120 > 100) -> True # 3. (has_special_key == True) -> (True == True) -> True # အခု ပြန်အစားထိုး: # (False and True) or (True) # 4. (False and True) -> False (and က တစ်ခုမှားတာနဲ့ မှားတယ်) # 5. (False) or (True) # 6. အဖြေ -> True (or က တစ်ခုမှန်တာနဲ့ မှန်တယ်) print(can_fight_boss) # အဖြေ: True (bro Boss တိုက်လို့ရပြီ)

Example 2: Login System (Username AND Password စစ်တာ)

login_system.py
print("=== Login System ===") # အချက်လက် အမှန် correct_username = "admin" correct_password = "pass123" # User ထည့်မယ် username = input("Username: ") password = input("Password: ") # နှစ်ခုလုံး မှန်မှ Login ဝင်လို့ရမယ် (and သုံးတယ်) if username == correct_username and password == correct_password: print("\nLogin အောင်မြင်ပါတယ်!") print("ကြိုဆိုပါတယ် bro") else: print("\nLogin မအောင်မြင်ပါ!") print("Username သို့မဟုတ် Password မှားနေပါတယ်")

Example 3: Age Verification System (အသက် စစ်တာ)

age_verification.py
print("=== အသက်အရွယ် စစ်ဆေးမယ် ===") age = int(input("Bro ရဲ့ အသက်: ")) has_parental_consent = input("မိဘခွင့်ပြုချက် ရှိလား? (yes/no): ").lower() == "yes" # အသက် 18 ကျော်ရမယ် OR မိဘခွင့်ပြုချက် ရှိရမယ် if age >= 18 or has_parental_consent: print("\nဝင်ခွင့်ပြုပါတယ်!") if age >= 18: print("အသက် 18 ပြည့်ပြီး ဖြစ်လို့") else: print("မိဘခွင့်ပြုချက် ရှိလို့") else: print("\nဝင်ခွင့်မပြုပါ!") print("အသက် 18 မပြည့်သေးဘူး၊ မိဘခွင့်ပြုချက်လည်း မရှိဘူး")

Example 4: လျှော့စျေး ရခွင့်

shopping_discount.py
print("=== လျှော့စျေး စစ်ဆေးမယ် ===") total_amount = float(input("စုစုပေါင်း ငွေ: ")) is_member = input("Member လား? (yes/no): ").lower() == "yes" is_weekend = input("Weekend လား? (yes/no): ").lower() == "yes" discount = 0 # လျှော့စျေး ရ/မရ စစ်မယ် # (Member ဖြစ်ရမယ် AND ငွေ 50000 ကျော်ရမယ်) OR Weekend ဖြစ်ရမယ် if (is_member and total_amount > 50000) or is_weekend: discount = 15 print("\nဂုဏ်ယူပါတယ်! 15% လျှော့စျေး ရရှိပါမယ်!") if is_weekend: print("အကြောင်းရင်း: Weekend Special Offer") else: print("အကြောင်းရင်း: Member + ငွေ 50000 ကျော်") elif is_member: discount = 5 print("\nMember လျှော့စျေး: 5%") else: print("\nလျှော့စျေး မရရှိပါ") # နောက်ဆုံး ငွေ တွက်မယ် discount_amount = total_amount * discount / 100 final_amount = total_amount - discount_amount print(f"\nမူလ ငွေ: {total_amount} ကျပ်") print(f"လျှော့စျေး: {discount}% ({discount_amount} ကျပ်)") print(f"ပေးရမည့် ငွေ: {final_amount} ကျပ်")

Example 5: Complex Conditions

exam_eligibility.py
print("=== စာမေးပွဲဖြေဆိုခွင့် စစ်ဆေးမယ် ===") attendance = float(input("တက်ရောက်မှု (%): ")) homework_done = int(input("အိမ်စာလုပ်ပြီးသား (အရေအတွက်): ")) has_medical_reason = input("ဆေးဝါးဆိုင်ရာ အကြောင်းပြချက် ရှိလား? (yes/no): ").lower() == "yes" # စာမေးပွဲဖြေဆိုခွင့် ရဖို့: # (တက်ရောက်မှု 75% ကျော် AND အိမ်စာ 8 ခုကျော် လုပ်ပြီး) OR ဆေးဝါးဆိုင်ရာ အကြောင်းပြချက် ရှိရမယ် eligible = (attendance >= 75 and homework_done >= 8) or has_medical_reason if eligible: print("\nစာမေးပွဲ ဖြေခွင့်ရှိပါတယ်!") if has_medical_reason: print("အကြောင်းရင်း: ဆေးဝါးဆိုင်ရာ ခွင့်ပြုချက်") else: print("အကြောင်းရင်း: တက်ရောက်မှု နဲ့ အိမ်စာ အရည်အချင်းပြည့်မှီ") else: print("\nစာမေးပွဲ ဖြေခွင့်မရှိပါ") print("အကြောင်းရင်း: တက်ရောက်မှု သို့မဟုတ် အိမ်စာ မပြည့်မီပါ")

အနှစ်ချုပ်

Comparison Operators:

စစ်တယ်။ အဖြေ True ဒါမှမဟုတ် False ပဲ ပြန်ပေးတယ်။

  • == ညီလား?
  • != မညီဘူးလား?
  • > ကြီးလား?
  • < ငယ်လား?
  • >= ကြီးလား သို့မဟုတ် ညီလား?
  • <= ငယ်လား သို့မဟုတ် ညီလား?
= နဲ့ ==: မမှားနဲ့။
= ထည့်တာ (Assignment)
== စစ်တာ (Comparison)

Logical Operators:

  • and - နှစ်ခုလုံး မှန်မှ True။
  • or - တစ်ခု မှန်ရင် True။
  • not - ပြောင်းပြန်လှန်တာ။
Suggest: ဒီကောင်တွေ ကျွမ်းပြီဆိုရင် နောက်လာမယ့် If-Else (ဆုံးဖြတ်ချက်ချတာ) မှာ bro ကျွမ်းပြီ။

Quick Reference

operators_quick_reference.py
# Comparison Operators print(5 == 5) # True (တူတယ်) print(5 != 6) # True (မတူဘူး) print(10 > 5) # True (ကြီးတယ်) print(5 < 10) # True (ငယ်တယ်) print(10 >= 10) # True (ကြီးတယ် သို့မဟုတ် ညီတယ်) print(5 <= 10) # True (ငယ်တယ် သို့မဟုတ် ညီတယ်) # Logical Operators print(True and True) # True (နှစ်ခုလုံး မှန်) print(True and False) # False (တစ်ခု မှား) print(False or True) # True (တစ်ခု မှန်) print(False or False) # False (နှစ်ခုလုံး မှား) print(not True) # False (ပြောင်းပြန်) print(not False) # True (ပြောင်းပြန်) # Combined Examples x = 10 y = 5 print((x > 5) and (y < 10)) # True (နှစ်ခုလုံး မှန်) print((x == 10) or (y == 10)) # True (တစ်ခု မှန်)