การวนลูปและการประยุกต์

การวนลูปเพื่อลดขนาดของโค้ดและการใช้งานเบื้องต้น

การวนลูปนั้นสามารถประยุกต์ใช้ได้หลายอย่างและเป็นอีกหนึ่งสิ่งที่สำคัญมากๆ และก็ควรเน้นเรื่องนี้มากๆ ด้วยเพราะมันเป็นสิ่งสำคัญที่สุดและจะช่วยคุณมากที่สุด หากคุณเข้าทำงานในสายนี้ ซึ่งในบทสรุปนี้จะมีการยกตัวอย่างหลายๆ อย่างเช่นการใช้ FOR หรือ WHILE สำหรับการวนลูปซึ่งสองตัวนี้มีคุณสมบัติคือการวนลูปเหมือนกันแต่ ลักษณะการใช้งานนั้นต่างกัน ซึ่งรวมไปถึง keyword ต่างๆ ที่ใช้ในลูป เช่น break, continue, pass เป็นต้น

การวนลูปแบบเบื้องต้นโดยใช้ FOR

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การวนลูปแบบ FOR นั้นเป็นการวนรูปแบบ Counting หรือการนับซึ่งจะมีประโยชน์เป็นอย่างมาก หากเป็นโปรแกรมที่ต้องการเพิ่มค่าหรือนับค่าตามจำนวนของสินค้านั้นถือว่าเป็นสิ่งที่สำคัญมาก ซึ่งจากโค้ดที่เป็นตัวอย่างตอนนี้คือการใช้ฟังก์ชั่น range() เพื่อบอกระยะว่าจะให้ทำงานถึงระยะไหน ซึ่งในวงเล็ปของ range() นั้นจะเป็นการใส่ int ลงไปเพื่อบอกจำนวนรอบที่ต้องการวนลูป ซึ่งในโปรแกรมคอมพิวเตอร์จะเริ่มจาก 0 ไปจนถึงจำนวนตัวเลขที่เราได้กำหนดไว้ ซึ่งในตัวอย่างผมกำหนดไว้ที่ 5 แต่มันจะนับจาก 0 จนกระทั่งถึง 4 ซึ่งไม่แสดงเลข 5 ออกมานั่นถือว่าเป็นเรื่องปกติ เพราะการวนลูปแบบนี้เมื่อถึงจำนวนที่เรากำหนดแล้วมันจะถือว่าเป็นการจบของการวนลูปนั้นๆ


การใช้ฟังก์ชั่น range() แบบเพิ่มเติม

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

ฟังก์ชั่น range() นั้นสามารถเพิ่มค่าจุดเริ่มต้นของตัวเลขได้โดยมีการเพิ่มอยู่ 2 ส่วนด้วยกัน ส่วนแรกจะเป็น start และส่วนที่สองคือ end ซึ่งสองส่วนที่จะแยกจากกันโดยการใช้ , (comma) ในการแยกกัน นอกจากนั้นยังมีการเพิ่มว่าจะเพิ่มทีละกี่ขั้น เช่นจะให้นับตั้งแต่ 1 ถึง 10 และให้นับทีละ 2 ขั้น จะออกมาเป็น range(1, 11, 2)


การวนลูปแบบเบื้องต้นโดยใช้ WHILE

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การวนลูปแบบ WHILE เป็นการวนลูปแบบใช้ Condition หรือเงื่อนไขในการทำงานซึ่งมักจะเอาไปใช้ทำงานในรูปแบบการเช็คความถูกต้อง เป็นต้น, ซึ่งจากในโค้ด ผมจะมีการใช้ keyword import เพื่อนำเข้า Library ตัวหนึ่งเข้าเพื่อเป็นตัวช่วยในการทำงานของโค้ดตัวอย่างเราครั้งนี้ ซึ่งมันคือ time อย่างต่อมาคือการวนลูปแบบ Counting แต่อยู่ในรูปแบบของ WHILE ซึ่งข้อดีเมื่ออยู่ใน while loop เราสามารถกำหนดรูปแบบของเงื่อนไขที่เราอยากให้มันจะเกิดได้ซึ่งเป็นข้อดีของมันนั่นเอง​ ซึ่งจากโค้ดจะเป็นการเพิ่มค่าเข้าไปเรื่อยๆ ทีละ 1 โดยการใช้ += ซึ่งเราได้สรุปเรื่องนี้ไปแล้ว สามารถย้อนกลับหน้าหลักไปดูได้ :) หลังจากนั้นจะมีการ time.sleep() ซึ่งเป็นฟังก์ชั่นสำหรับการหลับ ตามชื่อเลยครับ โปรแกรมจะหยุดนิ่งไปตามจำนวนวินาทืีที่เราใส่เข้าไปซึ่งตามตัวอย่างผมใส่เข้าไป 5 นัั่นก็คือ 5 วินาทีหลังจาก 5 วินาทีนั้น ผมก็จะทำการให้มันวนลูปแบบไม่มีวันจบเพียงแค่ใส่ True ลงไปในส่วนของ Condition ของ Loop และมันก็จะแสดง "Hello, World" แบบไม่มีวันจบออกมา หากต้องการที่จะหยุดมันให้กด CTRL - C พร้อมกันมันก็จะหยุดลงครับ

การประยุกต์ใช้งานการวนลูปแบบ FOR

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

ในตัวอย่างนี้เป็นการประยุกต์ใช้งานเพื่อสร้างกล่องด้วยการกำหนด ROW และ COLUMN ที่รับมาจากตัวแปรที่มีการรับค่าผ่านฟังก์ชั่น input() หลังจากนั้นจะทำการวนลูปสองชั้นโดยชั้นแรกจะเป็นชั้นของ row ซึ่งจะทำการนับไปตามจำนวนของแต่ละรอบที่รับค่ามา หลังจากนั้นจะเข้าการวนลูปชั้นสองทันทีในลูปนี้จะไม่ออกจนกว่าจะแสดงค่าออกมาครบตามจำนวนที่ column ได้ใส่ไว้ เช่น 5 ก็จะแสดงออกมาทั้ง 5 alterisks ซึ่งจะมีการใส่ค่าเพิ่มเติมซึ่งมันคือ end="" ซึ่งมันคือตัวที่กำหนดว่าหลังจากแสดงค่าแล้ว​ ณ​ ตอนท้ายจะให้แสดงค่าอะไรอีกและมันก็จะต่อข้อความไปเรื่อยๆ จนกว่าจะเจอ newline ในตัวอย่างผมก็แค่เพิ่ม Whitespace ไป 1 บรรทัดเพื่อเว้นช่องให้หายใจ พอแสดงครบทุกอย่างก็จะกลับไปแสดงค่านอกลูปซึ่งเป็น print("*") เปล่าๆ ไม่มี end="" ซึ่งสิ่งนี้หมายความว่าเป็น newline คือขึ้นบรรทัดใหม่นั่นเอง แล้วหลังจากนั้นก็จะเข้าลูปเดิมจนกว่าจะครบตัวเลขที่ได้ใส่ไว้


การประยุกต์ใช้งานการวนลูปแบบ WHILE

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

ในตัวอย่างนี้เป็นการประยุกต์ใช้งานเพื่อสร้างดักข้อมูลที่ไม่ถูกต้องหรือข้อมูลที่เราไม่ต้องการที่จะให้มันเข้ามาคำนวณในเงื่อนไขของเรา ซึ่งผมสร้างโปรแกรมคำนวณเกรดง่ายๆ แต่ว่าเพิ่ม while loop เข้ามาเพื่อเช็คความถูกต้องของค่าที่ถูกฟังก์ชั่น input() นำเข้ามา ซึ่งจากในโค้ดตัวของ while loop จะมีเงื่อนไขที่ว่า หากคะแนนน้อยกว่า 0 หรือคะแนนมากกว่า 100 ให้แสดงข้อความว่าสิ่งนี้ไม่ถูกต้องและให้ทำการใส่ข้อมูลใหม่ที่ถูกต้อง หากถูกต้องคุณจะหลุดออกจากลูปนี้ทันที เพื่อเข้าสู่ขั้นตอนการคำนวณเกรดนั่นเอง

คีย์เวิร์ดพิเศษอย่างแรกคือ break

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การใช้งานของ break นั้นมักจะใช้งานกันในส่วนของการทำงานในลูปซึ่งเมื่อใส่คีย์เวิร์ดไปแล้ว เมื่อทำงานถึงบรรทัดนี้จะทำให้วนลูปนั้นๆ หยุดทำงานทันที ซึ่งจากโค้ดที่ผมมีให้ก็คือการวนลูปเพิ่มค่าไปเรื่อยๆ และมีการเช็คเงื่อนไข ถ้าหากค่าเท่ากับ 8 ให้หยุดการทำงานวนลูปทันที


คีย์เวิร์ดพิเศษอย่างที่สองคือ countinue

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

คีย์เวิร์ด continue นั้นมีความสามารถตามชื่อเล่นคือ ทำต่อไป หากเราไปใส่ในการเช็คเงื่อนไขจะพบว่าเมื่อเช็คเงื่อนไขหนึ่งเสร็จมันจะไปเช็คอีกเงื่อนไข นั่นเป็นสิ่งที่ countinue ทำกับโปรแกรมนั่นเอง จากโค้ดของผม ผมได้วนลูปด้วย for loop แล้ววนจนกว่าจะครบ 20 และเมื่อนับเลขเสร็จก็จะมีการเช็คเงื่อนไขว่า counter นั้น % mod ด้วย 2 แล้วมันเท่ากับ 0 ไหม? ถ้าใช่มันก็แสดงข้อความออกมาบอกว่า "Is even number" และหลังจากนั้นมี continue เพื่อไปทำงานในส่วนของเงื่อนไขต่อไป ซึ่งเงื่อนไขต่อไปคือเงื่อนไขที่เช็คว่า counter นั้นเท่ากับ 15 ไหม ถ้าเท่ากับ 15 ก็ให้หยุดทำงานทันที ซึ่งจะใช้ คีย์เวิร์ด break แต่ถ้าหากไม่ใช่เลยก็จะแสดงข้อความว่า "Is odd number"


คีย์เวิร์ดพิเศษอย่างที่สามคือ pass

พื้นฐานวิชาคอมพิวเตอร์โปรแกรมมิ่งทั่วไป

การใช้งาน pass นั้นโดยส่วนใหญ่มักจะไม่ได้ใช้กันมากนัก โดย Usecase จริงๆ ที่ผมแนะนำคือใส่ไว้กับ Function หรือ Statement ที่เรายังคิด​​​ Logic ของมันยังไม่ออกน่าจะเข้าท่าสุด 5555+

ติดต่อฉัน

หากคุณสนใจในผลงานของฉันและต้องการที่จะจ้างงานหรือติดต่อพูดคุยกับฉัน คุณสามารถติดต่อกับฉันได้ผ่านทางฟอร์มในเว็บไซต์นี้ ซึ่งจะถูกส่งไปที่อีเมลล์ของฉันอีกที