Python Booleans
Boolean (bool) ဆိုတာ ဘာလဲ?
Boolean ဆိုတာ ဟုတ်လား (True)၊ မဟုတ်လား (False)... အဲ့ဒီ အဖြေ နှစ်ခုတည်းပဲ ရှိတဲ့ data type။
- True
- False
ဘရို မီးခလုတ် ကို စဉ်းစားကြည့်။ ဖွင့် (True) တယ်၊ ပိတ် (False) တယ်။ ကြားထဲမှာ တစ်ဝက် ဖွင့်တာတို့၊ နည်းနည်း ပိတ်တာတို့ မရှိဘူး။ နှစ်ခုတည်း ပဲ။ Python မှာ ဆုံးဖြတ်ချက်ချစရာရှိရင် ဒီကောင်တွေ ကိုသုံးတယ်။
# Boolean တန်ဖိုး နှစ်ခု
is_sunny = True
is_raining = False
print(is_sunny) # True
print(is_raining) # False
# Type စစ်ကြည့်မယ်
print(type(is_sunny)) # <class 'bool'># အမှန်
correct = True # အဆင်ပြေတယ်
correct = False # အဆင်ပြေတယ်
# အမှား - Error တက်မယ်
# wrong = true # NameError
# wrong = false # NameError
# wrong = TRUE # NameErrorBoolean တွေ ဘယ်ကထွက်လာတာလဲ?
Boolean တွေက မေးခွန်းတွေမေးရာကနေ ထွက်လာတာ။ နှိုင်းယှဉ် လိုက်လို့ ရလာတဲ့အဖြေတွေပေါ့။
Python မှာ နှိုင်းယှဉ် တဲ့ Comparison Operators တွေရှိတယ်:
== (တူလား?)
!= (မတူဘူးလား?)
> (ပိုကြီးလား?)
< (ပိုငယ်လား?)
>= (ကြီးလား သို့မဟုတ် တူလား?)
<= (ငယ်လား သို့မဟုတ် တူလား?)နံပါတ်တွေ နှိုင်းယှဉ်တာ:
x = 10
y = 5
# ကဲ... စစ် ကြည့်မယ်
print(f"x (10) က y (5) ထက် ကြီးလား? : {x > y}")
# Output: x (10) က y (5) ထက် ကြီးလား? : True
print(f"x (10) နဲ့ y (5) တူလား? : {x == y}")
# Output: x (10) နဲ့ y (5) တူလား? : False
print(f"x (10) က y (5) နဲ့ မတူဘူးလား? : {x != y}")
# Output: x (10) က y (5) နဲ့ မတူဘူးလား? : True
print(f"x (10) က y (5) ထက် ငယ်လား? : {x < y}")
# Output: x (10) က y (5) ထက် ငယ်လား? : False
print(f"x (10) က y (5) ထက် ကြီးလား တူလား? : {x >= y}")
# Output: x (10) က y (5) ထက် ကြီးလား တူလား? : TrueString တွေကိုလည်း စစ် လို့ရတယ်:
name1 = "Aung"
name2 = "Ba"
print(f"နာမည်နှစ်ခု တူလား? : {name1 == name2}")
# Output: နာမည်နှစ်ခု တူလား? : False
# Case sensitive ဖြစ်တယ်
print("aung" == "Aung") # False
print("aung" == "aung") # Truex = 10 (ဒါက x ထဲကို 10 ထည့် လိုက်တာ)
x == 10 (ဒါက x ထဲကကောင်က 10 ဟုတ်လား လို့စစ်တာ)
if x = 10: လို့ သွားရေးရင် တန်း မှားပြီ။ if x == 10: မှ အမှန်။
Boolean Logical Operators
မေးခွန်းတွေကို ဆင့်ပြီး မေးချင်ရင် (and, or, not) ဆိုတဲ့ keywords ၃ ခုရှိတယ်။
1. and (နှစ်ခုလုံး မှန် မှ အမှန်)
and ဆိုတာ ပြီးတော့ လို့ အဓိပ္ပာယ်ရတယ်။ ဒါရော ဟိုဒါရော မှန်မှ True ပြမယ်။ တစ်ခုခုမှားတာနဲ့ တန်း False ပဲ။
age = 20
has_license = True
# ကားမောင်းခွင့် ရှိလား စစ်မယ်
# (အသက် 18 ကျော် ရမယ် ပြီးတော့ လိုင်စင် ရှိ ရမယ်)
can_drive = (age > 18) and (has_license == True)
print(can_drive)
# Output: True (ဘာလို့လဲ? အသက်လည်း 18 ကျော်တယ်၊ လိုင်စင်လည်း ရှိတယ်)
# တကယ်လို့ age = 15 ဆိုရင်
age2 = 15
can_drive2 = (age2 > 18) and has_license
print(can_drive2)
# Output: False (အသက် 18 မကျော်သေးလို့)and Operator Truth Table:
print(True and True) # True
print(True and False) # False
print(False and True) # False
print(False and False) # False2. or (တစ်ခုခု မှန် ရင် အမှန်)
or ဆိုတာ တစ်ခုမဟုတ်တစ်ခု။ ဒါ ဖြစ်ဖြစ် ဟိုဒါ ဖြစ်ဖြစ်၊ တစ်ခုခု True ဖြစ်တာနဲ့ အဖြေက True ပဲ။ နှစ်ခုလုံး False ဖြစ်မှ False ဖြစ်မှာ။
is_weekend = False
is_holiday = True
# ဒီနေ့ ရုံးပိတ်လား စစ်မယ်
# (စနေ၊တနင်္ဂနွေ ဖြစ်ရမယ် ဒါမှမဟုတ် အစိုးရရုံးပိတ်ရက် ဖြစ်ရမယ်)
is_off_day = is_weekend or is_holiday
print(is_off_day)
# Output: True (ဘာလို့လဲ? Weekend မဟုတ်ပေမယ့် (False), Holiday (True) ဖြစ်နေလို့)or Operator Truth Table:
print(True or True) # True
print(True or False) # True
print(False or True) # True
print(False or False) # False3. not (ပြောင်းပြန် လှန်တာ)
not ဆိုတာ အငြင်း။ သူက ပြောင်းပြန် လှန်တယ်။ True ကို False ဖြစ်အောင်၊ False ကို True ဖြစ်အောင် လုပ်တယ်။
is_raining = True
print(f"မိုးရွာနေလား? : {is_raining}")
# Output: မိုးရွာနေလား? : True
print(f"မိုးမရွာဘူးလား? : {not is_raining}")
# Output: မိုးမရွာဘူးလား? : False
# not Operator အလုပ်လုပ်ပုံ
print(not True) # False
print(not False) # TrueBoolean တွေကို ဘယ်မှာ အဓိက သုံးလဲ?
If Statements (ဆုံးဖြတ်ချက် ချတဲ့ အပိုင်း) တွေမှာပေါ့။
Program တွေကတုံးတယ်။ ဒါဖြစ်ရင် ဒါလုပ်၊ ဟိုဒါဖြစ်ရင် ဟိုဒါလုပ် လို့ အတိအကျ ပြောပြမှရတာ။ အဲ့လို ဒါဖြစ်ရင် ဆိုတာကို Boolean နဲ့ စစ်ရတယ်။
အခြေခံ if statement:
is_hungry = True # ဒါက Boolean variable
if is_hungry == True: # (if is_hungry: လို့ ရေးလည်း တူတူ ပဲ)
print("ထမင်းစားကွာ...")
else:
print("အေးဆေး... အလုပ်ဆက်လုပ်")
# Output: "ထမင်းစားကွာ..."Practical Example 1: အသက် စစ်ဆေးတာ
age = int(input("အသက် ထည့်ပါ: "))
if age >= 18:
print("ဘရို အရွယ်ရောက်ပြီ")
print("မဲပေးခွင့် ရှိတယ်")
else:
print("ငယ်ရွယ်သေးတယ် ဘရို")
print("မဲပေးခွင့် မရှိသေးဘူး")Practical Example 2: Login စစ်ဆေးတာ
correct_username = "admin"
correct_password = "1234"
username = input("Username: ")
password = input("Password: ")
# and operator သုံးပြီး နှစ်ခုလုံး မှန် မမှန် စစ်တာ
if username == correct_username and password == correct_password:
print("Login ok")
print("ကြိုဆိုပါတယ် ဘရို")
else:
print("Username သို့မဟုတ် Password မှားနေပါတယ်")
print("Try again")Practical Example 3: စာမေးပွဲ ရမှတ် စစ်တာ
score = int(input("ရမှတ် ထည့်ပါ (0-100): "))
# Multiple conditions စစ်တာ
if score >= 90:
print("Grade: A - အလန်း!")
elif score >= 80:
print("Grade: B - ကောင်းတယ်")
elif score >= 70:
print("Grade: C - အဆင်ပြေတယ်")
elif score >= 60:
print("Grade: D - Pass")
else:
print("Grade: F - Fail ဘရို 😂")Practical Example 4: ဈေးဝယ် Discount စစ်တာ
total_amount = float(input("စုစုပေါင်း ငွေ: "))
is_member = input("Member လား? (yes/no): ").lower() == "yes"
discount = 0
# or operator သုံးတာ - Member ဖြစ်ဖြစ် ငွေ 50000 ကျော်ဖြစ်ဖြစ်
if is_member or total_amount > 50000:
discount = 10
print("ဘရို 10% Discount ရတယ်!")
final_amount = total_amount - (total_amount * discount / 100)
print(f"ပေးရမည့် ငွေ: {final_amount} ကျပ်")Practical Example 5: အပူချိန် စစ်တာ
temperature = float(input("အပူချိန် (Celsius): "))
# Multiple logical operators တွဲသုံးတာ
if temperature > 35:
print("အရမ်း ပူတယ်")
print("ရေ များများသောက်")
elif temperature >= 25 and temperature <= 35:
print("အပူချိန် သင့်တယ်")
elif temperature >= 15 and temperature < 25:
print("အေးပြီ")
else:
print("အေးလွန်းတယ်")
print("အပူပေး ဝတ်စုံစွပ်")Truthiness
Python မှာ အရမ်းဂေါ်တဲ့အချက်တစ်ချက် ရှိတယ်။ True နဲ့ False တိုက်ရိုက် မဟုတ်ဘဲ၊ တခြားကောင်တွေကိုလည်း True နဲ့ False သတ်မှတ်လို့ရတယ်။
False type တွေ:
# ဒီဒါတွေက False လို့ သတ်မှတ်တယ်
print(bool(0)) # False (သုည)
print(bool(0.0)) # False (ဒသမ သုည)
print(bool("")) # False (Empty String)
print(bool([])) # False (Empty List)
print(bool({})) # False (Empty Dictionary)
print(bool(None)) # False (None)True Type တွေ:
# အပေါ်က ၆ ကောင်ကလွဲရင် ကျန်တာ အကုန် True ပဲ
print(bool(10)) # True (int)
print(bool(-5)) # True (negative int)
print(bool("Hello")) # True (စာပါတဲ့ String)
print(bool([1, 2])) # True (Data ပါတဲ့ List)
print(bool({"a": 1})) # True (Data ပါတဲ့ Dictionary)Practical မှာ သုံးတာ:
my_name = "" # Empty String (ဒါ False လို့ Python က သတ်မှတ်တယ်)
if my_name: # (my_name က True လားလို့ စစ်တာ)
print(f"မင်္ဂလာပါ {my_name}")
else:
print("နာမည်ထည့်ဦး")
# Output: "နာမည်ထည့်ဦး" (ဘာလို့? my_name က "" (empty) ဖြစ်နေလို့ False ဖြစ်သွားတယ်)
# နောက်ထပ် ဥပမာ - List စစ်တာ
shopping_list = []
if shopping_list:
print("ဝယ်စရာ ရှိတယ်")
else:
print("ဝယ်စရာ မရှိဘူး")
# Output: "ဝယ်စရာ မရှိဘူး"Truthiness နဲ့ Number စစ်တာ:
# 0 က False, ကျန်တာ True
score = 0
if score:
print(f"ရမှတ်: {score}")
else:
print("ရမှတ် မရသေးဘူး")
# Output: "ရမှတ် မရသေးဘူး"
# Practical: User input စစ်တာ
user_input = input("တစ်ခုခု ရိုက်ပါ: ")
if user_input: # ဘာမှ မရိုက်ရင် "" (empty) ဖြစ်ပြီး False
print(f"ဘရို ရိုက်ထားတာ: {user_input}")
else:
print("ဘာမှ မရိုက်ဘူး")