คำสั่งควบคุมทิศทางการทำงานของโปรแกรม หรือ Control Statement คือคำสั่งที่กำหนดลำดับการทำงานของโปรแกรมให้เป็นไปตามเงื่อนไขที่กำหนดไว้ ทำให้เราสามารถกำหนดให้โปรแกรมทำงานซ้ำ หรือเลือกทำงานบางส่วนได้ตามที่เราต้องการ ประเภทของคำสั่งควบคุมทิศทางการทำงานของโปรแกรมหลักๆ มีดังนี้ : 1. คำสั่งเลือกทำ (Conditional Statements) คำสั่งเลือกทำ คือคำสั่งที่ทำให้โปรแกรมตัดสินใจว่าจะทำอะไรต่อไป โดยขึ้นอยู่กับเงื่อนไขที่เรากำหนดไว้ มี 3 รูปแบบหลักๆ ดังนี้: 1.1 if ใช้เมื่อต้องการให้โปรแกรมทำงานบางอย่าง เฉพาะเมื่อเงื่อนไขเป็นจริง (True) การทำงานของโค้ด : บรรทัดที่ 1: grade = input("กรุณากรอกข้อมูลคะแนน :") รับข้อมูลเข้าทางแป้นพิมพ์ โดยการใช้ฟังก์ชัน input() โปรแกรมจะแสดงข้อความที่อยู่ในวงเล็บ (ในที่นี้คือ "กรุณากรอกข้อมูลคะแนน :") ออกมาที่หน้าจอ เพื่อให้ผู้ใช้ทราบว่าต้องกรอกอะไร เก็บค่าที่ผู้ใช้ป้อนเข้ามาในตัวแปรชื่อว่า grade บรรทัดที่ 2: grade = int(grade) int(grade): เปลี่ยนข้อมูล ที่อยู่ในตัวแปร grade ซึ่งตอนนี้เป็น ข้อความ (หรือสตริง) ให้กลายเป็น ตัวเลขจำนวนเต็ม ที่เราสามารถเอาไปคำนวณได้ เก็บค่าที่ทำการแปลงชนิดข้อมูลแล้วในตัวแปร ชื่อว่า grade บรรทัดที่ 3: if grade >=50 : ใช้ฟังก์ชัน if ตรวจสอบเงือนไขว่าตัวแปร grade มีค่ามากกว่าหรือเท่ากับ 50 หรือไม่ บรรทัดที่ 4: print("ผ่าน") print("ผ่าน") คือฟังก์ชันที่ใช้สำหรับ แสดงข้อความออกทางหน้าจอ คำสั่ง print("ผ่าน") จะถูกทำงาน ก็ต่อเมื่อ เงื่อนไขในบรรทัดที่ 3 (grade >= 50) เป็น True เท่านั้น 1.2 if-else คำสั่งนี้ทำให้โปรแกรมสามารถเลือกทำได้ 2 ทาง หากเงื่อนไขเป็นจริง ให้ทำชุดคำสั่งหนึ่ง แต่ถ้าไม่เป็นจริง ให้ทำอีกชุดคำสั่งหนึ่ง การทำงานของโค้ด : บรรทัดที่ 1 -4 : การทำงานจะเหมือนดังตัวอย่างที่ 1.1 ด้านบน บรรทัดที่ 5 : คำสั่ง else เป็นทางเลือกสำรอง จะทำงานก็ต่อเมื่อ เงื่อนไขในคำสั่ง if ไม่เป็นจริง บรรทัดที่ 6 : หาก เงื่อนไขใน if ไม่เป็นจริง (เช่น คะแนนต่ำกว่า 50) โปรแกรมจะข้ามคำสั่งในบล็อก if ไปทำงานในส่วนของ else ทันที เพื่อแสดงผลลัพธ์ว่า "ไม่ผ่าน" ออกมาทางหน้าจอ 1.3 if-elif-else เมื่อเรามีความจำเป็นต้อง ตรวจสอบเงื่อนไขหลาย ๆ แบบ หรือ ประเมินทางเลือกที่ต่อเนื่องกัน ในโปรแกรม โครงสร้าง if-elif-else จะเข้ามามีบทบาทสำคัญ การทำงานของโค้ด : บรรทัดที่ 1 : ให้ผู้ใช้งานป้อนคะแนนเข้ามา แล้วเก็บค่าไว้ในตัวแปร grade บรรทัดที่ 2 : เนื่องจากข้อมูลที่รับเข้ามาจาก input() เป็นข้อความ (string) เราจึงต้องแปลงมันให้เป็น จำนวนเต็ม (integer) ด้วยคำสั่ง int() บรรทัดที่ 3-4 : เริ่มทำการตรวจสอบเงื่อนไข หากข้อมูลที่ป้อนเข้ามา มีค่ามากกว่าหรือเท่ากับ 80 ให้แสดงผลลัพธ์ “ดีมาก” บรรทัดที่ 5-6 : เริ่มทำการตรวจสอบเงื่อนไข หากข้อมูลที่ป้อนเข้ามา มีค่ามากกว่าหรือเท่ากับ 70 ให้แสดงผลลัพธ์ “ดี” บรรทัดที่ 7-8 : เริ่มทำการตรวจสอบเงื่อนไข หากข้อมูลที่ป้อนเข้ามา มีค่ามากกว่าหรือเท่ากับ 60 ให้แสดงผลลัพธ์ “พอใช้” บรรทัดที่ 9-10 : เริ่มทำการตรวจสอบเงื่อนไข หากข้อมูลที่ป้อนเข้ามา มีค่ามากกว่าหรือเท่ากับ 50 ให้แสดงผลลัพธ์ “ผ่าน” บรรทัดที่ 11-12 : เริ่มทำการตรวจสอบเงื่อนไข หากข้อมูลที่ป้อนเข้ามา ไม่ตรงกับทุกเงื่อนไข ให้แสดงผลลัพธ์ “ไม่ผ่าน” 2. คำสั่งทำซ้ำ (Looping Statements) คำสั่งทำซ้ำช่วยให้เราสามารถทำงานชุดเดิมซ้ำๆ กันได้หลายครั้ง โดยไม่ต้องเขียนโค้ดซ้ำไปซ้ำมา ซึ่งเป็นประโยชน์มากสำหรับการจัดการข้อมูลจำนวนมาก หรือการทำงานที่ต้องทำต่อเนื่องจนกว่าจะถึงเงื่อนไขที่กำหนด 2.1 for loop for loop ใช้สำหรับวนซ้ำผ่านลำดับของข้อมูล เช่น รายการ (list), สายอักขระ (string), ช่วงตัวเลข (range) การทำงานของโค้ด : บรรทัดที่ 1 : for i in range(5) คือการสร้างลำดับตัวเลขขึ้นมา 5 ตัว โดยเริ่มจาก 0, 1, 2, 3, 4 บรรทัดที่ 2 : แสดงผลลัพธ์ของ i ออกมาทางหน้าจอ 2.2 while loop while loop จะทำงานชุดคำสั่งซ้ำๆ ตราบใดที่เงื่อนไขที่กำหนดเป็นจริง (True) และมันจะหยุดทำงานเมื่อเงื่อนไขกลายเป็นเท็จ (False) การทำงานของโค้ด : บรรทัดที่ 1 : กำหนดค่าให้ตัวแปร i มีค่าเป็น 10 บรรทัดที่ 2 : ใช้คำสั่ง while เพื่อตรวจสอบเงื่อนไขว่า i มีค่ามากกว่าหรือเท่ากับ 1 หรือไม่ หากเงื่อนไขเป็นจริง จะทำงานหลังเครื่องหมาย : ต่อไป หากเงือนไขเป็นเท็จจะหยุดการทำงาน บรรทัดที่ 3 : คำสั่ง print ในบรรทัดนี้ อยู่ภายในลูป while โดยจะทำการแสดงผลลัพธ์ปัจจุบันของตัวแปร i ออกมาในแต่ละรอบของ Loop บรรทัดที่ 4 : บรรทัดนี้ก็ยังอยู่ใน Loop โดยจะทำการลดค่าของตัวแปร i ลงไปที่ละ 1 ในแต่ละรอบที่ Loop ทำงาน 3. คำสั่งกระโดด (Jump Statements) คำสั่งกระโดดใน Python มีประโยชน์มากในการเปลี่ยนทิศทางการทำงานของโปรแกรมได้ตามเงื่อนไขที่ต้องการ 3.1 break คำสั่ง break ใช้สำหรับ หยุดการทำงานของลูป (ทั้ง for และ while) ทันที เมื่อโปรแกรมเจอคำสั่ง break มันจะออกจาก Loop นั้นทันที และไปทำงานคำสั่งถัดไปที่อยู่นอก Loop การทำงานของโค้ด : บรรทัดที่ 1 : กำหนดค่าให้ตัวแปร i มีค่าเป็น 1 บรรทัดที่ 2 : ตรวจสอบเงื่อนไขว่า i มีค่าน้อยกว่าหรือเท่ากับ 10 หรือไม่ หากเป็นจริง โค้ดที่อยู่ใน Loop จะทำงาน บรรทัดที่ 3 : แสดงผลลัพธ์ออกมาทางหน้าจอในแต่ละรอบของ Loop ด้วยคำสั่ง print บรรทัดที่ 4 : ใช้คำสั่ง if เป็นเงื่อนไขเพิ่มเติมเพื่อตรวจสอบว่า i เท่ากับ 5 หรือไม่ ถ้าเงื่อนไขเป็นจริง คำสั่ง break จะทำงาน บรรทัดที่ 5 : คำสั่ง break โปรแกรมจะหยุดการทำงานของ Loop while ทันที และจะทำงานในคำสั่งนอก Loop ต่อไป บรรทัดที่ 6 : เพิ่มค่าของ i ขึ้นทีละ 1 ในแต่ละรอบ 3.2 continue เมื่อ continue ถูกเรียก โปรแกรมจะข้ามคำสั่งที่เหลือในรอบปัจจุบัน แล้วไปเริ่มรอบถัดไปของLoop ทันที ผลลัพธ์ การทำงานของโค้ด : บรรทัดที่ 1 : กำหนดค่าให้ตัวแปร i มีค่าเป็น 0 บรรทัดที่ 2 : ตรวจสอบเงื่อนไข i มีค่าน้อยกว่า 6 หรือไม่ หากเป็นจริงโค้ดภายใน Loop จะทำงาน บรรทัดที่ 3 : เพิ่มค่า i ขึ้นที่ละ 1 ในแต่ละรอบของ Loop บรรทัดที่ 4 : ตรวจสอบค่าของ i ว่าเท่ากับ 5 หรือไม่ บรรทัดที่ 5 : หาก i ==5 ( i มีค่าเท่ากับ 5 ) คำสั่ง continue จะทำงาน โดยจะสั่งให้ข้ามโค้ดที่ทำงานอยู่ในรอบปัจจุบันของ Loop แล้วกลับไปเริ่มรอบของการทำงาน Loop ใหม่ หมายความว่า คำสั่งในบรรทัดที่ 6 จะไม่ทำงานในรอบที่ถูกข้ามไป บรรทัดที่ 6 : แสดงผลลัพธ์ออกมาทางหน้าจอด้วยคำสั่ง print 3.3 pass เมื่อ Python เจอคำสั่ง pass มันจะข้ามไปแบบไม่ทำอะไรเลย เหมือนการจองพื้นที่ให้กับฟังก์ชันที่ยังไม่ได้ใส่รายละเอียด เพื่อให้โปรแกรมไม่เออเรอร์และรันได้ปกติ การทำงานของโค้ด : บรรทัดที่ 1 : รับค่าขอมูลมาเก็บไว้ในตัวแปร คะแนน บรรทัดที่ 2 : ใช้คำสั่ง if ตรวจสอบเงื่อนไข หากตัวแปรคะแนนมีค่ามากว่าหรือเท่ากับ 80 โปรแกรมจะทำงานในคำสั่งถัดในบล็อกของ if นี้ บรรทัดที่ 3 : ข้อความที่อยู่หลังเครื่องหมาย # เป็นเพียงคำอธิบายที่จะไม่ถูกนำมาใช้รันในโปรแกรม บรรทัดที่ 4 : ใช้คำสั่ง pass เพื่อข้ามไปก่อน บรรทัดที่ 5 : ใช้คำสั่ง elif ตรวจสอบเงื่อนไข หากตัวแปรคะแนนมีค่ามากว่าหรือเท่ากับ 50 โปรแกรมจะทำงานในคำสั่งถัดในบล็อกของ elif นี้ บรรทัดที่ 6 : แสดงขอความทางหน้าจอ “คุณสอบผ่าน” หากเงื่อนไขในบล็อก elif คะแนน >= 50 เป็นจริง บรรทัดที่ 7 : ใช้คำสั่ง else หาก if คะแนน >= 80 และ elif คะแนน >= 50 เป็นเท็จทั้งคู่ โดยไม่มีการตรวจสอบเงื่อนไขอะไรอีก บรรทัดที่ 8 : แสดงขอความทางหน้าจอ “คุณสอบไม่ผ่าน” ภาพหน้าปกและภาพประกอบโดยสาระนายพัช (ผู้เขียน) เปิดประสบการณ์ความบันเทิงที่หลากหลายสุดปัง บน App TrueID โหลดเลย ฟรี !