Python คำสั่งแบบมีเงื่อนไข: IF…Else, ELIF & Switch Case
⚡ สรุปอย่างชาญฉลาด
Python คำสั่งเงื่อนไขจะควบคุมการไหลของโปรแกรมโดยการเรียกใช้บล็อกโค้ดเฉพาะเมื่อนิพจน์บูลีนประเมินค่าเป็นจริงเท่านั้น คำสั่งเงื่อนไขได้แก่ if, else, elif, if ซ้อนกัน, ตัวดำเนินการแบบสามทาง และการจับคู่รูปแบบโครงสร้างสำหรับตรรกะที่ชัดเจนและขับเคลื่อนด้วยการตัดสินใจ

Conditional Statements คืออะไร Python?
งบเงื่อนไขใน Python ทำการคำนวณหรือการกระทำที่แตกต่างกันไป ขึ้นอยู่กับว่าเงื่อนไขบูลีนเฉพาะนั้นประเมินค่าเป็นจริงหรือเท็จ สิ่งเหล่านี้ช่วยให้โปรแกรมสามารถตัดสินใจและเลือกเส้นทางที่แตกต่างกันได้ แทนที่จะรันแต่ละบรรทัดตามลำดับ Pythonคำสั่งเงื่อนไขจะได้รับการจัดการโดย if คำสั่งและส่วนประกอบที่เกี่ยวข้อง ได้แก่ else, elif และ if ซ้อนกัน
ความหมายของ Python หากงบ?
การขอ Python ถ้าคำสั่ง ใช้สำหรับดำเนินการตัดสินใจ ประกอบด้วยชุดโค้ดที่จะทำงานก็ต่อเมื่อเงื่อนไขที่ระบุในคำสั่ง if เป็นจริงเท่านั้น หากเงื่อนไขเป็นเท็จ คำสั่ง else ที่เป็นตัวเลือกจะทำงานแทน โดยจะเก็บโค้ดสำหรับเงื่อนไข else ไว้ เมื่อคุณต้องการดำเนินการตามเงื่อนไขหนึ่งในขณะที่อีกเงื่อนไขหนึ่งไม่เป็นจริง คุณจะใช้คำสั่งนี้ Python คำสั่ง if-else
Python ถ้าไวยากรณ์คำสั่ง:
if expression:
statement
else:
statement
Python ถ้า...อย่างอื่น ผังงาน
ผังงานด้านบนแสดงให้เห็นว่าการควบคุมไหลผ่านคำสั่ง if-else อย่างไร มาดูตัวอย่างกัน Python ตัวอย่างการใช้งานคำสั่ง if-else:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 แนว: เรากำหนดตัวแปรสองตัวคือ x, y = 2, 8
- Code 4 แนว: คำสั่ง if ตรวจสอบเงื่อนไข x < y ซึ่งก็คือ จริง ในกรณีนี้.
- Code 5 แนว: ตัวแปร st ถูกตั้งค่าเป็น “x น้อยกว่า y”
- Code 6 แนว: บรรทัด print(st) จะแสดงค่าของ st ซึ่งก็คือ “x น้อยกว่า y”
จะเกิดอะไรขึ้นเมื่อเงื่อนไข "ถ้า" ไม่เป็นไปตามที่กำหนด
จากตัวอย่างก่อนหน้านี้ ลองมาดูกันว่าเกิดอะไรขึ้นเมื่อเงื่อนไข if ใน Python ไม่ตรงตามเงื่อนไข เมื่อเงื่อนไขเป็นเท็จและไม่มีสาขาอื่นอยู่ โค้ดส่วนที่เยื้องเข้าไปจะถูกข้ามไปทั้งหมด
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 แนว: เรากำหนดตัวแปรสองตัวคือ x, y = 8, 4
- Code 4 แนว: คำสั่ง if ตรวจสอบเงื่อนไข x < y ซึ่งก็คือ เท็จ ในกรณีนี้.
- Code 5 แนว: ตัวแปร st คือ ไม่ ตั้งค่าเป็น "x น้อยกว่า y"
- Code 6 แนว: บรรทัด print(st) พยายามพิมพ์ตัวแปรที่ไม่ได้ประกาศไว้ ดังนั้น Python ยก ชื่อผิดพลาด.
วิธีการใช้เงื่อนไข “else”
เพื่อหลีกเลี่ยงข้อผิดพลาดข้างต้น คุณสามารถเพิ่มเงื่อนไข else ได้ เงื่อนไข else ใช้เมื่อคุณต้องตัดสินประโยคหนึ่งโดยอาศัยอีกประโยคหนึ่ง หากเงื่อนไขหนึ่งเป็นเท็จ บล็อก else จะให้เส้นทางทางเลือกเพื่อให้โปรแกรมยังคงแสดงผลลัพธ์ได้
ตัวอย่าง:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 แนว: เรากำหนดตัวแปรสองตัวคือ x, y = 8, 4
- Code 4 แนว: คำสั่ง if ตรวจสอบเงื่อนไข x < y ซึ่งก็คือ เท็จ ในกรณีนี้.
- Code 6 แนว: การควบคุมการทำงานของโปรแกรมจะไปยังเงื่อนไข else
- Code 7 แนว: ตัวแปร st ถูกตั้งค่าเป็น “x คือ” มากขึ้น กว่าคุณ”
- Code 8 แนว: บรรทัด print(st) จะแสดงค่าของ st ซึ่งก็คือ “x มากกว่า y”
เมื่อเงื่อนไข “else” ไม่ทำงาน
เงื่อนไข else อาจไม่ได้ให้ผลลัพธ์ที่ต้องการเสมอไป อาจแสดงผลลัพธ์ที่ไม่ถูกต้องหากมีข้อผิดพลาดในตรรกะของโปรแกรม ซึ่งมักเกิดขึ้นเมื่อคุณต้องพิสูจน์ความถูกต้องของคำสั่งหรือเงื่อนไขมากกว่าสองข้อในโปรแกรม ตัวอย่างจะช่วยให้คุณเข้าใจแนวคิดนี้ได้ดีขึ้น
ในที่นี้ตัวแปรทั้งสองเหมือนกัน (8, 8) แต่ผลลัพธ์ของโปรแกรมกลับเป็น “x มากกว่า y” ซึ่งเป็น ผิดข้อผิดพลาดนี้เกิดขึ้นเนื่องจากโปรแกรมตรวจสอบเงื่อนไขแรก (เงื่อนไข if) และเมื่อเงื่อนไขนั้นล้มเหลว โปรแกรมจะพิมพ์เงื่อนไขที่สอง (เงื่อนไข else) เป็นค่าเริ่มต้น ในขั้นตอนต่อไป เราจะมาดูวิธีการแก้ไขข้อผิดพลาดนี้กัน
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
วิธีการใช้เงื่อนไข “elif”
เพื่อแก้ไขข้อผิดพลาดก่อนหน้านี้ที่เกิดจากเงื่อนไข else เราสามารถใช้ elif คำสั่ง elif นั้นบอกให้โปรแกรมตรวจสอบความเป็นไปได้ที่สามเมื่อเงื่อนไขแรกเป็นเท็จ คุณสามารถใช้เงื่อนไข elif หลายๆ เงื่อนไขต่อกันเพื่อตรวจสอบความเป็นไปได้ที่สี่ ห้า และความเป็นไปได้อื่นๆ ในโค้ดของคุณได้
ตัวอย่าง:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code 3 แนว: เรากำหนดตัวแปรสองตัวคือ x, y = 8, 8
- Code 4 แนว: คำสั่ง if ตรวจสอบเงื่อนไข x < y ซึ่งก็คือ เท็จ ในกรณีนี้.
- Code 6 แนว: การควบคุมการทำงานของโปรแกรมจะไปยังเงื่อนไข elif ซึ่งจะตรวจสอบว่า x == y หรือไม่ ซึ่งในกรณีนี้เป็นจริง
- Code 7 แนว: ตัวแปร st ถูกตั้งค่าเป็น “x คือ” เช่นเดียวกับที่ จ”
- Code 10 แนว: โปรแกรมจะออกจากคำสั่ง if (จะไม่ไปถึงคำสั่ง else) และพิมพ์ st ออกมา ผลลัพธ์ที่ได้คือ “x เหมือนกับ y” ซึ่งถูกต้อง
วิธีเรียกใช้คำสั่งเงื่อนไขโดยใช้โค้ดให้น้อยที่สุด Code
ตอนนี้คุณสามารถเขียนบล็อก if-elif-else แบบเต็มรูปแบบได้แล้ว Python ช่วยให้คุณย่อเงื่อนไขง่ายๆ ให้เหลือเพียงบรรทัดเดียว แทนที่จะเขียนโค้ดแยกกันสำหรับแต่ละสาขา คุณสามารถใช้ นิพจน์ไตรภาค (แบบมีเงื่อนไข).
ไวยากรณ์:
value_if_true if condition else value_if_false
ตัวอย่าง:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code 2 แนว: เรากำหนดตัวแปรสองตัวคือ x, y = 10, 8
- Code 3 แนว: ตัวแปร st จะมีค่าเป็น “x น้อยกว่า y” ถ้า x < y มิฉะนั้นจะมีค่าเป็น “x มากกว่าหรือเท่ากับ y” เนื่องจากในที่นี้ x > y ดังนั้น st จึงกลายเป็นค่าที่สอง
- Code 4 แนว: พิมพ์ค่าของ st และให้ผลลัพธ์ที่ถูกต้อง
Python ซ้อนคำสั่ง if
คำสั่ง if ซ้อนกัน คือการวางคำสั่ง if หนึ่งไว้ภายในอีกคำสั่ง if หนึ่ง ซึ่งมีประโยชน์เมื่อการตัดสินใจขึ้นอยู่กับเงื่อนไขที่สอง ตัวอย่างต่อไปนี้แสดงคำสั่ง if ซ้อนกันใน Python ที่คำนวณเรือping ค่าใช้จ่ายขึ้นอยู่กับประเทศและยอดรวมของคำสั่งซื้อ
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
ลบเครื่องหมายคอมเมนต์ออกจากบรรทัดที่ 2 ในโค้ดด้านบน และใส่เครื่องหมายคอมเมนต์ไว้ที่บรรทัดที่ 3 จากนั้นรันโค้ดอีกครั้งเพื่อดูว่าผลลัพธ์เปลี่ยนแปลงไปอย่างไรสำหรับประเทศอื่น
สลับคำชี้แจงกรณีและปัญหาเข้า Python
คำสั่ง Switch คืออะไร?
คำสั่ง switch เป็นคำสั่งแยกสาขาแบบหลายทางที่เปรียบเทียบค่าของตัวแปรกับค่าที่ระบุไว้ในคำสั่ง case เป็นเวลานานแล้วที่... Python ภาษาดังกล่าวไม่มีคำสั่ง switch ดังนั้นนักพัฒนาจึงใช้วิธีการอื่นเพื่อสร้างพฤติกรรมเดียวกัน Python พจนานุกรม แผนที่ping.
ตัวอย่างการใช้แผนที่พจนานุกรมping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
สวิตช์เคสที่มีการจับคู่ (Python 3.10 และ Later)
ตั้งแต่ Python 3.10 (วางจำหน่ายในเดือนตุลาคม 2021) Python ให้คุณสมบัติพื้นฐาน กรณีไม้ขีดไฟ คำสั่งนี้เรียกว่า การจับคู่รูปแบบเชิงโครงสร้าง (structural pattern matching) ซึ่งเป็นทางเลือกที่สะอาดตาและอ่านง่ายกว่าการใช้คำสั่ง elif ที่ยาวเหยียด และวิธีการใช้พจนานุกรมดังที่แสดงไว้ข้างต้น
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
เครื่องหมายขีดล่าง (_) ทำหน้าที่เป็นกรณีเริ่มต้น โดยจะตรงกับค่าใดๆ ก็ตามที่ไม่ได้รับการจัดการโดยกรณีต่างๆ ก่อนหน้านี้ เช่นเดียวกับค่าเริ่มต้นในคำสั่ง switch แบบดั้งเดิม
เปรียบเทียบอย่างรวดเร็วระหว่าง if, elif และ else:
ใช้การเปรียบเทียบนี้เพื่อตัดสินใจว่าโครงสร้างเงื่อนไขแบบใดเหมาะสมกับตรรกะการตัดสินใจของคุณ
| คำแถลง | จุดมุ่งหมาย | ควรใช้เมื่อใด |
|---|---|---|
| if | เรียกใช้บล็อกเมื่อเงื่อนไขเป็นจริง | การตัดสินใจเพียงครั้งเดียวว่าใช่หรือไม่ใช่ |
| ถ้า…มิฉะนั้น | จัดเตรียมวิธีการสำรองเมื่อเงื่อนไขเป็นเท็จ | ผลลัพธ์สองอย่างที่ไม่สามารถเกิดขึ้นพร้อมกันได้ |
| elif | ทดสอบเงื่อนไขเพิ่มเติมตามลำดับ | ความเป็นไปได้สามอย่างขึ้นไป |
| ซ้อนกันถ้า | วางเงื่อนไข if ไว้ภายในเงื่อนไข if อีกเงื่อนไขหนึ่ง | การตัดสินใจที่ขึ้นอยู่กับเงื่อนไขที่สอง |
| สามชั้น | ลดความซับซ้อนของคำสั่ง if-else ให้เหลือเพียงบรรทัดเดียว | การกำหนดค่าอย่างง่าย |
| กรณีไม้ขีดไฟ | จับคู่ค่ากับรูปแบบจำนวนมาก | การแตกแขนงหลายทาง (Python 3.10 +) |







