ในบทช่วยสอนนี้ เราจะมาดูวิธีการใช้ if
, else
และ elif
คำสั่งในภาษา Python
เมื่อเขียนโค้ดในภาษาใดๆ มีบางครั้งที่เราจำเป็นต้องตัดสินใจและรันโค้ดตามผลของการตัดสินใจ
ใน Python เราใช้ if
คำสั่งเพื่อประเมินเงื่อนไข
คำสั่ง Python If
ไวยากรณ์ของ if
คำสั่งในภาษาไพทอนคือ:
if condition:
statement
ให้ความสนใจเป็นพิเศษกับเครื่องหมายอัฒภาค :
และ เยื้อง .
เราใช้ตัวดำเนินการเชิงตรรกะเพื่อประเมินเงื่อนไข ตัวดำเนินการเชิงตรรกะคือ:
- เท่ากับ:
a == b
- ไม่เท่ากับ:
a != b
- น้อยกว่า:
a < b
- น้อยกว่าหรือเท่ากับ:
a <= b
- มากกว่า:
a > b
- มากกว่าหรือเท่ากับ:
a >= b
รหัสตามหลัง if
คำสั่งจะดำเนินการก็ต่อเมื่อเงื่อนไขประเมินเป็น true
.
ตัวอย่าง if
คำสั่งในภาษาไพทอน:
password = 'Hello'
if len(password) < 6:
print('password too weak - should be at least 6 characters')
เอาท์พุต:
password too weak - should be at least 6 characters
ในโค้ดด้านบนนี้ เรากำลังประเมินความยาวของรหัสผ่าน เงื่อนไขคือ ความยาวไม่ควรน้อยกว่า 6 ตัวอักษร
ซึ่งแสดงโดยตัวดำเนินการน้อยกว่า <
.
เนื่องจากสตริง “สวัสดี” มีความยาวน้อยกว่า 6 อักขระ เงื่อนไขจึงประเมินเป็น จริง และด้วยเหตุนี้เราจึงเห็นข้อความสั่งพิมพ์
Python If…คำชี้แจงอื่น
หากผลการประเมินเป็นเท็จ และ เราต้องการดำเนินการกับผลลัพธ์ จากนั้นเรารวม else
คำชี้แจง
ไวยากรณ์ของ if...else
คำสั่งมีลักษณะดังนี้:
if condition:
statement_1
else:
statement_2
ดังนั้น จากตัวอย่างเดียวกันข้างต้น หากเราต้องการแจ้งให้ผู้ใช้ทราบว่ารหัสผ่านมีความยาวตามที่กำหนด เราจะใส่รหัสผ่านนั้นไว้ใน else
บล็อก
ตัวอย่าง:
password = 'Mission'
if len(password) < 6:
print('password too weak - should be at least 6 characters')
else:
print('your password was accepted')
เอาท์พุต:
your password was accepted
ในกรณีนี้ คำว่า “ภารกิจ” มี 7 ตัวอักษร ดังนั้น if
. ของเรา เงื่อนไขประเมินเป็นเท็จ เพราะเรามี else
บล็อกแล้ว print()
. ที่สอง คำสั่งถูกดำเนินการ
หลายตัวถ้า…อย่างอื่นมีเอลฟ์
เมื่อโปรแกรมต้องจัดการมากกว่าสองกรณี เราจำเป็นต้องใช้ if
. หลายรายการ และ else
บล็อก คีย์เวิร์ด elif
หมายถึง ถ้า.
ตัวอย่างเช่น เรามีโปรแกรมที่ต้องการกำหนดประเภทของสามเหลี่ยมโดยใช้อินพุตจำนวนเต็ม 3 ตัว
- สเกลสามเหลี่ยมคือด้านที่ด้านทั้งสามมีความยาวต่างกัน
- สามเหลี่ยมหน้าจั่วมีสองด้านที่มีความยาวเท่ากัน
- สามเหลี่ยมด้านเท่าคือด้านที่ด้านเท่ากันหมด
a = 5
b = 5
c = 5
if a != b and b != c and a != c:
print('This is a scalene triangle')
elif a == b and b == c:
print('This is an equilateral triangle')
else:
print('This is an isosceles triangle')
เอาท์พุต:
This is an equilateral triangle
ตัวอย่างนี้แสดงวิธีจัดการกับกรณีมากกว่าสองกรณี เหมือนเมื่อก่อน จำ :
และการเยื้อง
ไม่จำกัดจำนวน elif
ที่เราสามารถใช้ได้ ต้องมี else
. เพียงตัวเดียว คำสั่งที่ทำหน้าที่เป็น catch-all ถ้าทั้งหมด if
คำสั่งล้มเหลว จากนั้น else
คำสั่งถูกดำเนินการ
Python Ternary Operator (ชอร์ตแฮนด์ถ้า…อย่างอื่น)
ถ้าเรามี if...else
บล็อก เราสามารถใช้ตัวดำเนินการ ternary และเขียน if...else
บล็อกในบรรทัดเดียว
ไวยากรณ์คือ:
condition_if_true if condition else condition_if_false
ตัวอย่าง:
a = 100
b = 200
print('A') if a > b else print('B')
เอาท์พุต:
B
บทสรุป
- The
if...else
และelif
คำสั่งควบคุมการไหลของโปรแกรม - คำสั่ง if ในการเขียนโปรแกรมใช้สำหรับการตัดสินใจ
- คำสั่ง if จะถูกประเมินตามเงื่อนไขที่ระบุ
- บล็อก else สามารถแนบกับคำสั่ง if ได้ และจะดำเนินการหากเงื่อนไขเป็นเท็จ
- ไม่สามารถมีบล็อก else กับคำสั่ง if ได้
- คำสั่ง elif สามารถแนบกับคำสั่ง if หากมีหลายเงื่อนไข