เงื่อนไข if … elif … else ในภาษา Python

เงื่อนไข if … elif … else เป็นรูปแบบของเงื่อนไขที่ใช้ในภาษา Python ในการเลือกทำงานแบบสองทางหรือมากกว่า โดยรูปแบบของเงื่อนไขนี้จะมีหลายเงื่อนไขและจะทำงานที่เงื่อนไขแรกที่เข้าขึ้นตรงกับเงื่อนไขนั้น ๆ

รูปแบบของเงื่อนไข if … elif … else ดังนี้

if condition1:
    statement1
elif condition2:
    statement2
elif condition3:
    statement3
...
else:
    statement

 

เงื่อนไข if จะตรวจสอบเงื่อนไขที่ระบุและดำเนินการที่ระบุใน statement1 หากเงื่อนไขเป็นจริง ถ้าเงื่อนไข if เป็นเท็จ ระบบจะตรวจสอบเงื่อนไข elif ถัดไป ถ้าเงื่อนไข elif ตรงกับเงื่อนไขใด ๆ แล้วระบบจะดำเนินการตามคำสั่งที่ระบุในส่วน statement2 หากเงื่อนไข elif เป็นเท็จ ระบบจะตรวจสอบเงื่อนไข elif ถัดไป และดำเนินการตามคำสั่งของส่วนนั้น ๆ ไปเรื่อย ๆ จนกว่าเงื่อนไขใด ๆ จะตรงหรือถึงส่วน else (ถ้ามี) ถ้าไม่มีเงื่อนไขใด ๆ ที่ตรงกับเงื่อนไขที่กำหนดไว้ ระบบจะดำเนินการตามคำสั่งที่ระบุในส่วน else (ถ้ามี)

 

ตัวอย่าง การใช้งานเงื่อนไข if … elif … else ในภาษา Python ดังนี้:

x = 10

if x > 10:
    print("x is greater than 10")
elif x < 10:
    print("x is less than 10")
else:
    print("x is equal to 10")

ผลลัพธ์ คือ

x is equal to 10

จากตัวอย่าง จะตรวจสอบค่าของตัวแปร x ว่ามากกว่า 10, น้อยกว่า 10 หรือเท่ากับ 10 และแสดงผลลัพธ์ที่เหมาะสมตามเงื่อนไขที่เป็นจริง

ในที่นี้ตัวแปร x มีค่าเท่ากับ 10 ดังนั้นโปรแกรมจะทำงานในส่วนของ else และแสดงผลลัพธ์ว่า “x is equal to 10

 

ตัวอย่าง เงื่อนไข If … elif … else ตรวจสอบคะแนน เพื่อตัดเกรด

score = 85

if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'F'

print(f"The grade for score {score} is {grade}")

จากตัวอย่างนี้ คะแนนของนักเรียนคือ 85 และเราใช้เงื่อนไข if … elif … else เพื่อตรวจสอบคะแนนและกำหนดเกรดตามเกณฑ์ที่กำหนดไว้ในเงื่อนไขของเรา โดยเริ่มต้นเราตรวจสอบว่าคะแนนมากกว่าหรือเท่ากับ 90 หรือไม่ ถ้าใช่เรากำหนดเกรดเป็น A ถ้าไม่ใช่เรากำหนดเงื่อนไข elif เพื่อตรวจสอบว่าคะแนนมากกว่าหรือเท่ากับ 80 หรือไม่ แล้วกำหนดเกรดตามนั้นไปเรื่อย ๆ จนกว่าเราจะตรวจสอบเงื่อนไข else ซึ่งจะกำหนดเกรด F สำหรับคะแนนที่ไม่ผ่านเกณฑ์การสอบ. ผลลัพธ์ที่ได้จากโปรแกรมนี้คือ:

The grade for score 85 is B

 

ตัวอย่าง เงื่อนไข If … elif … else ตรวจสอบอายุ เพื่อให้รู้ว่าอยู่ในวัยใด

age = 25

if age < 18:
    print("You are underage")
elif age >= 18 and age < 30:
    print("You are a young adult")
elif age >= 30 and age < 60:
    print("You are a middle-aged adult")
else:
    print("You are a senior citizen")

จากตัวอย่างนี้ กำหนดค่าตัวแปร age เป็น 25 และจะใช้เงื่อนไข If … elif … else เพื่อตรวจสอบช่วงอายุของผู้ใช้ โดยจะแสดงข้อความที่เหมาะสมกับช่วงอายุของผู้ใช้

ผลลัพธ์ที่ได้ คือ

You are a young adult

ในกรณีนี้ เงื่อนไขแรกไม่เป็นจริงเพราะว่าอายุเท่ากับ 25 ซึ่งไม่น้อยกว่า 18 ดังนั้นโปรแกรมจะตรวจสอบเงื่อนไขถัดไป โดยเงื่อนไขที่สองจะเป็นจริงเพราะอายุเท่ากับ 25 อยู่ในช่วง 18 ถึง 30 ดังนั้นโปรแกรมจะแสดงข้อความว่า “You are a young adult

 

ตัวอย่าง เงื่อนไข If … elif … else สอบถามชื่อและความต้องการเล่นเกม 

name = input("What is your name? ")
answer = input("Do you want to play a game? ")

if answer == "yes":
    print("Great! Let's play a game.")
elif answer == "no":
    print("Oh, okay. Maybe next time.")
else:
    print("Sorry, I didn't understand your answer.")

print("Thanks for playing, " + name + "!")

จากตัวอย่างนี้ โปรแกรมจะถามชื่อของผู้ใช้และว่าต้องการเล่นเกมหรือไม่ โดยโปรแกรมจะตอบสนองตามคำตอบของผู้ใช้ ถ้าคำตอบเป็น “yes” โปรแกรมจะพิมพ์ข้อความ “Great! Let’s play a game.” แต่ถ้าคำตอบเป็น “no” โปรแกรมจะพิมพ์ข้อความ “Oh, okay. Maybe next time.” และถ้าผู้ใช้ป้อนคำตอบอื่น ๆ โปรแกรมจะพิมพ์ข้อความ “Sorry, I didn’t understand your answer.” ในทุก ๆ กรณี โปรแกรมจะส่งคำขอบคุณสำหรับการเล่นเกมไปยังผู้ใช้โดยใช้ชื่อที่ผู้ใช้ป้อนเป็นอาร์กิวเมนต์ในการพิมพ์ข้อความ “Thanks for playing, [ชื่อ]!”

 

ตัวอย่าง เงื่อนไข If … elif … else ตรวจสอบสถานะจากอายุ 

age = 25
is_student = True
is_employed = False

if is_student:
    print("The person is a student")
if is_employed:
    print("The person is employed")
if not is_student and not is_employed:
    if age < 18:
        print("The person is under 18 and not a student")
    elif age >= 18 and age < 65:
        print("The person is not a student and not employed")
    else:
        print("The person is not a student and is retired")

ผลลัพธ์ที่ได้ คือ

The person is a student

ในตัวอย่างนี้ กำหนดค่าตัวแปร age โดยให้มีค่าเท่ากับ 25 และกำหนดค่าตัวแปร is_student และ is_employed ให้มีค่าเป็น True และ False ตามลำดับ ดังนั้น เงื่อนไขแรกจะเป็นเงื่อนไขเช็คว่า is_student เป็นจริงหรือไม่ โดยในกรณีนี้ is_student เป็นจริงจึงจะแสดงผลลัพธ์ “The person is a student” ต่อมาจะเป็นเงื่อนไขเช็คว่า is_employed เป็นจริงหรือไม่ ในกรณีนี้ is_employed เป็นเท็จ ดังนั้นไม่มีการแสดงผลลัพธ์ใดๆ ต่อมาเป็นเงื่อนไขสุดท้าย ซึ่งจะเข้าสู่การตรวจสอบอายุของคนโดยเริ่มจากเงื่อนไขเช็คว่าไม่ใช่นักเรียนและไม่ได้จ้างงาน โดยใช้ตัวดำเนินการ not เพื่อทำการเปลี่ยนเงื่อนไขให้ตรงกับที่ต้องการ หาก is_student เป็นเท็จ และ is_employed เป็นเท็จ ก็จะเข้าเงื่อนไขนี้