ประโยคเงื่อนไขในภาษา Python
การเปรียบเทียบค่า (Boolean Expressions)
Boolean Expressions คือ การดำเนินการเปรียบเทียบค่าเพื่อให้ได้ผลลัพธ์ออกมาเป็นถูก (
True
) หากเงื่อนไขเป็นจริง หรือผลลัพธ์เป็นผิด ( False
)
หากเงื่อนไขเป็นเท็จหรือไม่เป็นจริง การเปรียบเทียบค่าใช้กับคำสั่งตรวจสอบเงื่อนไขการตัดสินใจ
if
และคำสั่งการทำงานวนซ้ำทั้ง for
และ while
เช่น ค่าของ x
มากกว่าค่าของ y ใช่หรือไม่ ซึ่งผลลัพธ์จะออกมาเป็น True หรือ False
โดยตัวดำเนินการเปรียบเทียบในภาษา Python ได้แสดงไว้ในตารางต่อไปนี้
ตัวดำเนินการ |
ความหมาย |
ตัวอย่าง |
---|---|---|
|
เท่ากับ |
|
|
ไม่เท่ากับ |
|
|
มากกว่า |
|
|
น้อยกว่า |
|
|
มากกว่าหรือเท่ากับ |
|
|
น้อยกว่าหรือเท่ากับ |
|
ส่วนตัวอย่างการใช้สัญลักษณ์เปรียบเทียบค่าเป็นดังนี้
>>> 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 เป็นดังต่อไปนี้
>>> 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
ซึ่งผลการใช้ตัวดำเนินการทางตรรกศาสตร์ทั้งสามตัว แสดงไว้ในตารางดังต่อไปนี้
ค่าที่เปรียบเทียบ |
ค่าที่เปรียบเทียบ |
ผลลัพธ์ |
---|---|---|
False |
False |
False |
False |
True |
False |
True |
False |
False |
True |
True |
True |
ค่าที่เปรียบเทียบ |
ค่าที่เปรียบเทียบ |
ผลลัพธ์ |
---|---|---|
False |
False |
False |
False |
True |
True |
True |
False |
True |
True |
True |
True |
ค่าที่เปรียบเทียบ |
ผลลัพธ์ |
---|---|
False |
True |
True |
False |
การใช้คำสั่ง if
เพื่อเลือกเงื่อนไข
เงื่อนไขที่ใช้ในภาษา Python คือคำสั่ง if โดยสิ่งที่ตามหลัง if คือ Boolean
Expression ส่วนนี้เรียกว่าคำสั่งใหญ่ และในคำสั่งใหญ่ ก็มีคำสั่งย่อย การดูว่าคำสั่งย่อยอยู่ในคำสั่ง if ใดให้ดูที่การย่อหน้าหรือ Indentation ในภาษา Python การย่อหน้าสำคัญมากจะเป็นการบอกว่าอะไรอยู่ภายในอะไร
รูปแบบของการใช้งานคำสั่ง if ในภาษา Python โดยถ้าหากเงื่อนไขเป็นจริง ตัวโปรแกรมจะประมวลผลในคำสั่ง if หลังเครื่องหมาย : ดังต่อไปนี้
if expresion:
statement
statement
statement
...
ตัวอย่างเช่น ให้แสดงข้อความว่า อายุต่ำกว่าเกณฑ์ ถ้าหากค่าอายุที่รับเข้ามาต่ำกว่า 18 ปี การเขียน Source Code และผลลัพธ์ของโจทย์เป็นดังนี้
age = int(input('Enter your age: '))
if age < 18:
print('You are underage.')
Enter your age: 15
You are underage.
การใช้ if
กับ else
โครงสร้างคำสั่ง if…else จะดำเนินในบล็อคคำสั่ง else ถ้าหากเงื่อนไขในคำสั่ง if นั้นเป็นเท็จ โดยมีรูปแบบการเขียนดังนี้
if expression:
statement
statement
statement
...
else:
statement
statement
statement
...
ตัวอย่างการใช้ 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.')
x is greater than y.
Chained Expressions
การใช้ Chained Expressions คือ การใส่ elif ไปเรื่อยๆ และเงื่อนไขสุดท้ายจะต้องใช้ else โดยไม่ต้องการระบุ Boolean Expressions ใดๆ อีกแล้วหลังจากที่ใส่ else ดังตัวอย่างและผลลัพธ์ดังต่อไปนี้
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.')
x and y are equal.
Nested Expressions
if มี Statement อยู่ข้างในได้ และ else ก็มี Statement อยู่ข้างในได้เช่นกัน เรียกว่า 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.')
x is greater than y.
แบบฝึกหัด
จงเขียน code ต่อไปนี้
ให้ถามว่า Are you bored? และให้ตอบว่า y หรือ n
ถ้าตอบ y ให้พิมพ์ข้อความว่า Let's go outside.
จงเขียน code ต่อไปนี้
ตั้งค่าตัวแปร
var
รับค่าเป็นตัวเลขจำนวนเต็มจากผู้ใช้ถ้า
var > 100
ให้แสดงผลว่า “The value is over 100.”ถ้า เป็นกรณีอื่นๆ ให้แสดงผลว่า “The value is less than or equal 100.”
จงเขียน code ต่อไปนี้
รับค่า
a
,b
เป็นจำนวนเต็มแสดงผลว่า
a > b
หรือa < b
หรือa = b
จงเขียน code ต่อไปนี้
รับค่า
score
เป็นจุดทศนิยมถ้าคะแนน 81-100 แสดงผลว่า เกรด A
ถ้าคะแนน 61-80 แสดงผลว่า เกรด B
ถ้าคะแนน 41-60 แสดงผลว่า เกรด C
ถ้าคะแนน 0-40 แสดงผลว่า เกรด F
เมื่อแสดงผลดังกล่าวแล้ว ให้แจ้งด้วยว่า “ตัดเกรดแล้ว”