Logic trong Python


Hôm nay ta sẽ học về so sánh trong Python. Ta có các so sánh sau:

== : bằng nhau
!= : khác nhau
>  : lớn hơn
<  : nhỏ hơn
>= : lớn hơn hoặc bằng
<= : nhỏ hơn hoặc bằng
is : bằng
is not : không bằng
not : ngược lại

Ta xew ví dụ sau:

print(1==1) # True
print(1!=1) # False
print(1 is 1) # True
print(1 is not 1) # False
print(1 > 1) # False
print(1 < 1) # False
print(1 <= 1) # True
print(1 >= 1) # True
print(not( 1==1 )) # False

Ngoài ra ta còn có so sánh "and" và "or".

  • So sánh "and" đúng khi cả hai điều kiện cùng đúng.
  • So sánh "or" đúng khi chỉ cần 1 trong hai điều kiện là đúng.

Ta xem ví dụ sau:

a = 1
b = 2

print(a == 1 and b == 2) # True and True --> True
print(a < 1 or b == 2)  # False or True --> True
print(a == 1 or b < 2) # True or False --> True
print(10 and True) # 10 là True and True --> True
print(0 and True) # 0 
print(0 and False) # 0

Ta thấy 2 ví dụ cuối khi 0 so sánh với True hay False đều ra giá trị 0.

khi so sánh "and" nếu có điều kiện nào là False thì sẽ không xét tiếp. Ví dụ sau:

print(a == 1 and b < 2 and 2/0 > 2)
# True and False and 2/0 sẽ bị lỗi chia cho 0.

Ta thấy điều kiện đầu a == 1 là đúng. Điều kện thứ hai b < 2 là sai. Thì kết quả là sai, không xét điều kiện cuối. Nếu xét điều kiện 2/0 thì sẽ bị lỗi chia cho 0. Vậy ta thấy khi so sánh "and" thì khi phát hiện điều kiện nào sai thì ngưng không xét nữa.

Ta thử áp dụng nhé:

age = 36
update = True

if age > 35 and update:
    print("You can learn anything you want")
elif age > 35 and update is False:
    print("Coding is hard")
else:
    print("Other")
# You can learn anything you want

Vậy là ta đã tìm hiểu xong các phép so sánh trong python rồi đấy. ^_^