Kodokon kodokon.com

เงื่อนไข: if, elif, else

เรียนรู้การทำให้โปรแกรมของคุณตัดสินใจได้ด้วย if, elif, else และตัวดำเนินการตรรกะ

8 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

โปรแกรมมักต้องเลือกเส้นทางจากหลาย ๆ ทาง คำสงวน if จะรันบล็อกคำสั่ง ก็ต่อเมื่อ เงื่อนไขเป็นจริงเท่านั้น เงื่อนไข (condition) คือนิพจน์ที่ให้ผลเป็น True หรือ False บรรทัด if จบด้วยเครื่องหมายทวิภาค : และบล็อกที่ตามมาจะถูกเยื้องเข้าไป 4 ช่องว่าง การเยื้องนี้บอก Python ว่าบรรทัดใดบ้างที่เป็นส่วนหนึ่งของบล็อก

PYTHON
age = 20
if age >= 18:
    print("You are an adult.")
ข้อความจะแสดงก็ต่อเมื่อเงื่อนไขเป็นจริงเท่านั้น

เงื่อนไขเขียนขึ้นด้วย ตัวดำเนินการเปรียบเทียบ ได้แก่ == (เท่ากับ), != (ไม่เท่ากับ), < (น้อยกว่า), > (มากกว่า), <= และ >= หากต้องการเชื่อมหลายกรณีเข้าด้วยกัน ให้เพิ่ม elif ("else if" หรือ "ไม่เช่นนั้นถ้า") ซึ่งทดสอบอีกเงื่อนไขหนึ่ง แล้วตามด้วย else ("มิฉะนั้น") ซึ่งจะทำงานเมื่อเงื่อนไขอื่นทั้งหมดเป็นเท็จ

PYTHON
temperature = 15
if temperature > 25:
    print("It's hot.")
elif temperature > 10:
    print("It's mild.")
else:
    print("It's cold.")
เมื่อค่าเป็น 15 เงื่อนไขแรกเป็นเท็จและเงื่อนไขที่สองเป็นจริง จึงแสดงผล "It's mild."

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

PYTHON
age = 30
has_ticket = True
if age >= 18 and has_ticket:
    print("Entry allowed.")
if not has_ticket:
    print("Ticket missing.")
ข้อความแรกจะถูกแสดง ส่วนข้อความที่สองไม่ถูกแสดง

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. ตัวดำเนินการใดใช้ทดสอบความเท่ากันของค่าสองค่า?
    • =
    • ==
    • !=
    • <=
  2. บล็อก else จะทำงานเมื่อใด?
    • ทุกครั้งที่โปรแกรมทำงาน
    • เมื่อเงื่อนไขของ if (และของ elif ทั้งหลาย) เป็นเท็จ
    • เมื่อเงื่อนไขของ if เป็นจริง
  3. นิพจน์ True and False ให้ผลลัพธ์เป็นอะไร?
    • True
    • False
    • ข้อผิดพลาด