ในบทนี้เราจะมาทำความเข้าใจเรื่องเงื่อนไข (Condition) กันครับ ซึ่งการเขียนโค้ดนั้น เงื่อนไขเป็นสิ่งจำเป็นมากๆ ครับ เพื่อที่จะทำให้โค้ดทำงานได้ถูกต้องในแต่ละกรณีที่แตกต่างกัน
เงื่อนไข
เงื่อนไขหรือ Condition คือ การกำหนดคำสั่งหรือโค้ดชุดต่อไปให้ทำงานแตกต่างกันในแต่ละกรณี เช่น
- ถ้า a เท่ากับ b เราจะเพิ่มค่าให้ a
- แต่ถ้า a ไม่เท่ากับ b เราจะเพิ่มค่าให้ b
จะเห็นว่าทั้งสองกรณี ตามมาด้วยคำสั่งที่ต่างกัน ซึ่งการเขียนโค้ดปกติจะเจอเงื่อนไขเหล่านี้เป็นประจำ
If Condition
If condition คือ ถ้าเงื่อนไขเป็นจริง ให้โค้ดทำงานใน block คำสั่งของ if เพิ่ม แล้วค่อยทำงานต่อ แต่ถ้าไม่จริงให้ข้ามชุดคำสั่งใน block ของ if แล้วไปทำงานต่อได้เลย มาดูตัวอย่างเพื่อความเข้าใจเพิ่มเติมกันครับ
a = 33
b = 200
if b > a:
a = a + 1
print("b is greater than a")
print(a)
print(b)
จากคำสั่งด้านบน เงื่อนไขใน if condition เป็นจริง เพราะ b มากกว่า a ทำให้มีการทำงานใน block คำสั่งของ if เพิ่ม คือมีการเพิ่มค่าให้ตัวแปร a และมีการแสดงค่าข้อความ “b is greater than a” ออกมา ก่อนที่จะทำงานต่อไป คือการแสดงค่า a และ b ออกมา
"b is greater than a"
34
200
ในกรณีตรงข้าม ถ้าเราแก้ค่าตัวแปร a เป็น 300
a = 300
b = 200
if b > a:
a = a + 1
print("b is greater than a")
print(a)
print(b)
เงื่อนไขจะเป็นเท็จ เพราะ b ไม่ได้มีค่ามากกว่า a ทำให้ block คำสั่งของ if ไม่ถูกทำงาน ค่าข้อความ “b is greater than a” และการเพิ่มค่าของ a จึงไม่ถูกทำงานครับ จะข้ามไปทำงานชุดคำสั่งหลัง block คำสั่งของ if คือการแสดงค่า a และ b ออกมา
300
200
Indentation
ในภาษา Python เมื่อมีเงื่อนไข If เราจะต้องตามด้วย block ของคำสั่ง ซึ่ง block ของคำสั่งจำเป็นต้องย่อหน้าเข้าไป (tab) หรือ indent เข้าไป 1 ครั้ง จากตัวอย่างคำสั่งที่ผ่านมาจะเห็นว่าคำสั่งทั้ง 2 คำสั่งใน block ของ if จะมีการ indent เข้าไป
a = 300
b = 200
if b > a:
a = a + 1 //ย่อหน้าเข้ามา
print("b is greater than a") //ย่อหน้าเข้ามา
print(a)
print(b)
ซึ่งหากไม่มีการ indent หรือย่อหน้าตามหลังคำสั่งเงื่อนไข if แล้ว โปรแกรมจะ Error ครับ
a = 300
b = 200
if b > a:
a = a + 1
print("b is greater than a")
print(a)
print(b)
ผลจากการรันคำสั่งจะได้เป็น
IndentationError: expected an indented block (prog.py, line 4)
คอร์ส Python for Kids
สอบถามข้อมูลและรายละเอียดเพิ่มเติมได้ทาง เฟสบุ๊ค คิดกับโค้ด
หรือกดแชทที่
ด้าน (ขวา) ล่างของเว็บไซต์เพื่อแชท
ทางทีมงานจะรีบตอบกลับให้เร็วที่สุดครับ ขอบคุณทุกท่านมากครับ
