เงื่อนไข if … else ในภาษา Python
ใช้สำหรับตรวจสอบเงื่อนไขในการเลือกทำงานของโปรแกรม โดยเงื่อนไขจะเป็นการตรวจสอบค่าจากตัวแปรหรือค่าคงที่ว่าตรงตามเงื่อนไขที่กำหนดหรือไม่ แล้วจึงเลือกทำงานตามส่วนที่ต้องการ ในภาษา Python เงื่อนไข If … Else จะมีรูปแบบดังนี้
if expression:
statement(s)
else:
statement(s)
โดยจะมี expression เป็นเงื่อนไขที่ต้องการตรวจสอบ ถ้าเงื่อนไขเป็นจริงจะทำงานใน statement(s) ในบรรทัดถัดไป ถ้าเงื่อนไขไม่เป็นจริงจะทำงานใน statement(s) ของ else ในบรรทัดถัดไป
ตัวอย่าง การใช้งาน If … Else statement ใน Python:
x = 5
if x > 10:
print("x มากกว่า 10")
else:
print("x น้อยกว่าหรือเท่ากับ 10")
ผลลัพธ์ที่ได้จะเป็น “x น้อยกว่าหรือเท่ากับ 10” เนื่องจากค่าตัวแปร x เท่ากับ 5 ซึ่งไม่มากกว่า 10 ตามเงื่อนไขที่กำหนดใน If statement ดังนั้นโปรแกรมจะทำงานใน Else statement ในบรรทัดถัดไปแทน
num = 10
# Check if the number is positive
if num > 0:
print("Number is positive")
else:
print("Number is not positive")
จากตัวอย่างนี้ เราใช้ if … else เพื่อตรวจสอบว่าตัวเลข num มีค่ามากกว่า 0 หรือไม่ ถ้า num มากกว่า 0 จะพิมพ์ “Number is positive” แต่ถ้า num ไม่มากกว่า 0 จะพิมพ์ “Number is not positive”
เรายังสามารถใช้ if … else ในการกำหนดค่าตัวแปรตามเงื่อนไขได้ด้วย ดังนี้:
# Set x to 'positive' if num is positive, otherwise set it to 'not positive'
x = 'positive' if num > 0 else 'not positive'
print(x)
จากตัวอย่างนี้ ถ้า num มากกว่า 0 ค่าของตัวแปร x จะเป็น ‘positive’ แต่ถ้า num ไม่มากกว่า 0 ค่าของตัวแปร x จะเป็น ‘not positive’
If … Else หลายเงื่อนไข
ในภาษา Python สามารถเขียนเงื่อนไข If … Else หลายเงื่อนไขได้ด้วยการใช้คำสั่ง if ซ้อน if หรือเรียกว่า Nested if statement ดังนี้
x = 10
y = 5
z = 2
if x > y:
if x > z:
print("x is the largest number")
else:
print("z is the largest number")
else:
if y > z:
print("y is the largest number")
else:
print("z is the largest number")
จากตัวอย่างนี้ จะตรวจสอบว่าตัวเลขใดเป็นค่ามากที่สุดระหว่าง x, y, และ z และพิมพ์ผลลัพธ์ที่เกี่ยวข้อง
ในตัวอย่างนี้เงื่อนไข if นอกจากการตรวจสอบว่า x มีค่ามากกว่า y แล้วยังมีเงื่อนไข if ซ้อนอยู่ภายในเพื่อตรวจสอบว่า x มีค่ามากกว่า z หรือไม่ ถ้าใช่ก็พิมพ์ว่า x เป็นตัวเลขที่มากที่สุด ถ้าไม่ใช่ก็เข้าเงื่อนไข else ซึ่งจะพิมพ์ว่า z เป็นตัวเลขที่มากที่สุด
ในกรณีที่เงื่อนไข if นอกไม่เป็นจริง จะเข้าสู่เงื่อนไข else ซึ่งจะตรวจสอบเงื่อนไขต่อไป ว่าตัวเลขใดมีค่ามากที่สุดระหว่าง y และ z แล้วพิมพ์ผลลัพธ์ที่เกี่ยวข้อง
ในกรณีที่ตัวเลขทั้งสามมีค่าเท่ากัน ผลลัพธ์จะถูกพิมพ์ว่า z เป็นตัวเลขที่มากที่สุด
คำสั่ง if ซ้อน if สามารถถูกซ้อนกันได้หลายชั้นตามความต้องการและข้อจำกัดของโปรแกรม