เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บทIf...Else
Python เงื่อนไขและหากคำสั่ง Python ต้องอยู่ภายใต้เงื่อนไขตรรกะปกติจากคณิตศาสตร์ โดยการเปรียบเทียบระหว่างข้อมูล ๒ ตัว ดังนี้
- a < b หมายถึง a น้อยกว่า b
- a <= b หมายถึง a น้อยกว่าหรือเท่ากับ b
- a > b หมายถึง a มากกว่า b
- a >= b หมายถึง a มากกว่าหรือเท่ากับ b
- a == b หมายถึง a เท่ากับ b
- a != b หมายถึง a ไม่เท่ากับ b
เงื่อนไขเหล่านี้สามารถใช้ได้หลายวิธีโดยทั่วไปมักจะอยู่ใน "if statement" และloop "if statement" ถูกเขียนโดยใช้ if
ตัวอย่าง
บรรทัดที่ 3 หาก b > a จะทำการพิมพ์ค่าออกมา
บรรทัดที่ 4 โดยโปรแกรมจะทำการปรินท์ค่า b is greater than a
a = 33 |
ในตัวอย่างนี้เราใช้สองตัวแปรคือ a และ b ซึ่งใช้เป็นส่วนหนึ่งของคำสั่ง if เพื่อทดสอบว่า b มากกว่า a เมื่อ a คือ 33 และ b คือ 200 เรารู้ว่า 200 มากกว่า 33 และเราพิมพ์ไปทีหน้าจอของเราต่อว่า "b is greater than a" เมื่อตรงตามเงื่อนไข ก็จะปรินต์ค่าดังกล่าวออกมา
ผลลัพธ์
b is greater than a |
การย่อหน้า
Python ต้องอาศัยการย่อหน้า (ช่องว่างที่จุดเริ่มต้นของบรรทัด) เพื่อกำหนดขอบเขตในโค้ด ภาษาโปรแกรมอื่น ๆ มักใช้เครื่องหมายปีกกา
ตัวอย่าง
ถ้าข้อความโดยไม่มีการย่อหน้า จะทำให้เกิด error
a = 33 |
คำสั่ง if elif
elif เป็นวิธีการของ pythons ในการพูดว่า "หากเงื่อนไขก่อนหน้านี้ไม่เป็นจริงให้ลองใช้เงื่อนไขนี้"
ตัวอย่าง
บรรทัดที่ 3 หาก b > a จะทำการพิมพ์ค่าออกมา else
บรรทัดที่ 4 โดยโปรแกรมจะทำการปรินท์ค่า b is greater than a
บรรทัดที่ 5 หาก b == a จะทำการปริ้นค่า eilf
บรรทัดที่ 6 โดยโปรแกรมจะทำการปรินท์ค่า b and a aqual
a = 33 |
ผลลัพธ์
a and b are equal |
ในตัวอย่างนี้ a เท่ากับ b ดังนั้นเงื่อนไขแรกไม่เป็นความจริง แต่เงื่อนไข elif เป็นจริงดังนั้นเราจึงพิมพ์ไปที่หน้าจอว่า "a and b are equal"
คำสั่ง if else
คำหลักอื่นจะจับอะไรก็ได้ที่ไม่ได้อยู่ในเงื่อนไขก่อนหน้านี้
บรรทัดที่ 3 หาก b > a จะทำการพิมพ์ค่าออกมา else
บรรทัดที่ 4 โดยโปรแกรมจะทำการปรินท์ค่า b is greater than a
บรรทัดที่ 5 หาก b == a จะทำการปริ้นค่า eilf
บรรทัดที่ 6 โดยโปรแกรมจะทำการปรินท์ค่า b and a aqual
บรรทัดที่ 7 หาก b < a จะทำให้ปริ้นค่า else
บรรทัดที่ 8 โดยโปรแกรมจะทำการปรินท์ค่า a is greater than b
a = 200 |
ผลลัพธ์
a is greater than b |
ในตัวอย่างนี้ a มากกว่า b ดังนั้นเงื่อนไขแรกไม่เป็นความจริงเงื่อนไขของ elif ก็ไม่เป็นความจริงดังนั้นเราจึงไปที่เงื่อนไขอื่นและพิมพ์ไปที่หน้าจอว่า "a is greater than b"
การใช้ nested if
นักเรียนสามารถมีคำสั่ง if ภายใน if statement คำสั่งนี้เรียกว่าซ้อนคำสั่ง if
ตัวอย่าง
บรรทัดที่ 2 หาก x > 10 จะทำการพิมพ์ค่า if ออกมา
บรรทัดที่ 3 โดยโปรแกรมจะทำการปรินท์ค่า Above 10
บรรทัดที่ 4 หาก x > 20 จะทำการปริ้นค่า if ออกมา
บรรทัดที่ 5 โดยโปรแกรมจะทำการปรินท์ค่า and also above 20
บรรทัดที่ 6 หากก่อนหน้านี้เป็นเท็จจะทำให้ปริ้นค่า else
บรรทัดที่ 7 โดยโปรแกรมจะทำการปรินท์ค่า but not above 20
x = 41 |
ผลลัพธ์
Above ten, |
ถ้ามีเนื้อหาว่างเปล่า เเละนักเรียนมีเหตุผลบางอย่าง ให้ใส่คำสั่ง pass เพื่อหลีกเลี่ยงerror
ตัวอย่าง
บรรทัดที่ 3 หาก b > a ให้ปริ้น if
บรรทัดที่ 4 ใช้คำสั่ง pass เพื่อป้องกันการ error
a = 33 # having an empty if statement like this, would raise an error without the pass statement |
ดังนั้นตัวอย่างนี้จะไม่เเสดงค่าใดออกมา
สรุปในบทนี้คือจะพูดถึงการใช้ if else เงื่อนไขเเละคำสั่งของมัน เเละการใช้ if elif เเละมีตัวอย่างให้นักเรียนได้ลองเขียนเพื่อทำความเข้าใจ
แปลจากhttps://www.w3schools.com/python/python_conditions.asp
Tag ที่น่าสนใจ: python if_else conditional_statements comparison_operators nested_if indentation elif pass_statement programming tutorial
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM