ประโยคเงื่อนไขในภาษา Python

การเปรียบเทียบค่า (Boolean Expressions)

Boolean Expressions คือ การดำเนินการเปรียบเทียบค่าเพื่อให้ได้ผลลัพธ์ออกมาเป็นถูก ( True) หากเงื่อนไขเป็นจริง หรือผลลัพธ์เป็นผิด ( False) หากเงื่อนไขเป็นเท็จหรือไม่เป็นจริง การเปรียบเทียบค่าใช้กับคำสั่งตรวจสอบเงื่อนไขการตัดสินใจ if และคำสั่งการทำงานวนซ้ำทั้ง for และ while เช่น ค่าของ x มากกว่าค่าของ y ใช่หรือไม่ ซึ่งผลลัพธ์จะออกมาเป็น True หรือ False โดยตัวดำเนินการเปรียบเทียบในภาษา Python ได้แสดงไว้ในตารางต่อไปนี้

ตารางตัวดำเนินการเปรียบเทียบค่า

ตัวดำเนินการ

ความหมาย

ตัวอย่าง

==

เท่ากับ

x == y

!=

ไม่เท่ากับ

x != y

>

มากกว่า

x > y

<

น้อยกว่า

x < y

>=

มากกว่าหรือเท่ากับ

x >= y

<=

น้อยกว่าหรือเท่ากับ

x <= y

ส่วนตัวอย่างการใช้สัญลักษณ์เปรียบเทียบค่าเป็นดังนี้

ตัวอย่างการใช้สัญลักษณ์เปรียบเทียบค่า
>>> a = 5
>>> b = 6
>>> a == b
False
>>> 5 > 6
False
>>> 5 < 6
True
>>> 5 >= 6
False
>>> print('5 == 5 :', 5 == 5)
5 == 5 : True
>>> print('12 >= 13.47 : ', 12 >= 13.47)
12 >= 13.47 : False

ตัวดำเนินการทางตรรกศาสตร์ (Logical Operators)

การเปรียบเทียบค่ามากกว่าหนึ่งครั้งเชื่อมต่อกันสามารถดำเนินการได้โดยใช้ตัวดำเนินการทางตรรกศาสตร์ (Logical Operators) ในภาษา Python นั้นมีตัวดำเนินการทางตรรกศาสตร์ 3 ชนิด ซึ่งได้แก่ และ (and) หรือ (or) ไม่ (not) เช่น a > 2 or c > b and c >2 ตัวอย่างการใช้ตัวดำเนินการทางตรรกศาสตร์ในภาษา Python เป็นดังต่อไปนี้

ตัวอย่างการใช้ตัวดำเนินการทางตรรกศาสตร์ในภาษา Python
>>> a = -4
>>> b = -2
>>> a > 2 or c > b and c> 2
False

ตัวดำเนินการทางตรรกศาสตร์ and ใช้เชื่อมสอง Expression ถ้าทั้งสอง Expression มีค่าเป็น True จะได้ผลลัพธ์เป็น True ส่วนตัวดำเนินการทางตรรกศาสตร์ or ใช้เชื่อมสอง Expression ถ้าทั้งสอง Expression มีค่าเป็น False เท่านั้น ผลลัพธ์จึงจะเป็น False และตัวดำเนินการทางตรรกศาสตร์ not จะใช้ในการกลับค่าจาก True เป็น False และจาก False เป็น True ซึ่งผลการใช้ตัวดำเนินการทางตรรกศาสตร์ทั้งสามตัว แสดงไว้ในตารางดังต่อไปนี้

ตารางผลการใช้ and

ค่าที่เปรียบเทียบ

ค่าที่เปรียบเทียบ

ผลลัพธ์

False

False

False

False

True

False

True

False

False

True

True

True

ตารางผลการใช้ or

ค่าที่เปรียบเทียบ

ค่าที่เปรียบเทียบ

ผลลัพธ์

False

False

False

False

True

True

True

False

True

True

True

True

ตารางผลการใช้ not

ค่าที่เปรียบเทียบ

ผลลัพธ์

False

True

True

False

การใช้คำสั่ง if เพื่อเลือกเงื่อนไข

เงื่อนไขที่ใช้ในภาษา Python คือคำสั่ง if โดยสิ่งที่ตามหลัง if คือ Boolean

Expression ส่วนนี้เรียกว่าคำสั่งใหญ่ และในคำสั่งใหญ่ ก็มีคำสั่งย่อย การดูว่าคำสั่งย่อยอยู่ในคำสั่ง if ใดให้ดูที่การย่อหน้าหรือ Indentation ในภาษา Python การย่อหน้าสำคัญมากจะเป็นการบอกว่าอะไรอยู่ภายในอะไร

รูปแบบของการใช้งานคำสั่ง if ในภาษา Python โดยถ้าหากเงื่อนไขเป็นจริง ตัวโปรแกรมจะประมวลผลในคำสั่ง if หลังเครื่องหมาย : ดังต่อไปนี้

รูปแบบของการใช้งานคำสั่ง if
if expresion:
   statement
   statement
   statement
   ...

ตัวอย่างเช่น ให้แสดงข้อความว่า อายุต่ำกว่าเกณฑ์ ถ้าหากค่าอายุที่รับเข้ามาต่ำกว่า 18 ปี การเขียน Source Code และผลลัพธ์ของโจทย์เป็นดังนี้

ตัวอย่างการใช้ if
age = int(input('Enter your age: '))
if age < 18:
   print('You are underage.')
ผลลัพธ์จากโจทย์ตัวอย่างการใช้ if
Enter your age: 15
You are underage.

การใช้ if กับ else

โครงสร้างคำสั่ง if…else จะดำเนินในบล็อคคำสั่ง else ถ้าหากเงื่อนไขในคำสั่ง if นั้นเป็นเท็จ โดยมีรูปแบบการเขียนดังนี้

รูปแบบของการใช้งานคำสั่ง if-else
if expression:
   statement
   statement
   statement
   ...
else:
   statement
   statement
   statement
   ...

ตัวอย่างการใช้ if...else และผลลัพธ์เป็นดังต่อไปนี้

ตัวอย่างการใช้ if-else
x = 15
y = 6
if x > y:
   print('x is greater than y.')
else:
   print('x is less than or equal to y.')
ผลลัพธ์จากตัวอย่างการใช้ if-else
x is greater than y.

Chained Expressions

การใช้ Chained Expressions คือ การใส่ elif ไปเรื่อยๆ และเงื่อนไขสุดท้ายจะต้องใช้ else โดยไม่ต้องการระบุ Boolean Expressions ใดๆ อีกแล้วหลังจากที่ใส่ else ดังตัวอย่างและผลลัพธ์ดังต่อไปนี้

ตัวอย่างการเขียน Chained Expressions
x = 6
y = 6
if x > y:
   print('x is greater than y.')
elif x < y:
   print('x is less than y.')
else:
   print('x and y are equal.')
ผลลัพธ์ตัวอย่างการเขียน Chained Expressions
x and y are equal.

Nested Expressions

if มี Statement อยู่ข้างในได้ และ else ก็มี Statement อยู่ข้างในได้เช่นกัน เรียกว่า Nested Expressions ดังตัวอย่างและผลลัพธ์ดังต่อไปนี้

ตัวอย่างการเขียน Nested Expressions
x = 7
y = 6
if x == y:
   print('x and y are equal.')
else:
   if x < y:
      print('x is less than y.')
   else:
      print('x is greater than y.')
ผลลัพธ์ตัวอย่างการเขียน Nested Expressions
x is greater than y.

แบบฝึกหัด

  1. จงเขียน code ต่อไปนี้

    • ให้ถามว่า Are you bored? และให้ตอบว่า y หรือ n

    • ถ้าตอบ y ให้พิมพ์ข้อความว่า Let's go outside.

  2. จงเขียน code ต่อไปนี้

    • ตั้งค่าตัวแปร var รับค่าเป็นตัวเลขจำนวนเต็มจากผู้ใช้

    • ถ้า var > 100 ให้แสดงผลว่า “The value is over 100.”

    • ถ้า เป็นกรณีอื่นๆ ให้แสดงผลว่า “The value is less than or equal 100.”

  3. จงเขียน code ต่อไปนี้

    • รับค่า a, b เป็นจำนวนเต็ม

    • แสดงผลว่า a > b หรือ a < b หรือ a = b

  4. จงเขียน code ต่อไปนี้

    • รับค่า score เป็นจุดทศนิยม

    • ถ้าคะแนน 81-100 แสดงผลว่า เกรด A

    • ถ้าคะแนน 61-80 แสดงผลว่า เกรด B

    • ถ้าคะแนน 41-60 แสดงผลว่า เกรด C

    • ถ้าคะแนน 0-40 แสดงผลว่า เกรด F

    • เมื่อแสดงผลดังกล่าวแล้ว ให้แจ้งด้วยว่า “ตัดเกรดแล้ว”