ในบทช่วยสอนนี้ เราจะมาดูวิธีการใช้ 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 หากมีหลายเงื่อนไข