--- title: หลักการเขียนโปรแกรม 10/08/2565 subtitle: date: วันพุธที่ 10 สิงหาคม 2565 เวลา 09.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์สุธิรา) สวัสดีค่ะ โอเคนะคะ สำหรับสัปดาห์นี้นะคะ เราจะมาเรียนต่อในหัวข้อที่เหลืออีก 1 อัน ก็คือคำสั่งวนซ้ำ ซึ่งจะมีอยู่ 2 ตัว ก็คือคำสั่ง while นะคะ กับคำสั่ง for มันวนซ้ำอย่างไรแล้วมันต่างกันอย่างไรไอ้ 2 คำสั่งนี้นะคะ เดี๋ยวมาดูกัน ดูที่คำสั่ง for ก่อน For loop คำว่า loop นี่หมายถึงวนรอบนั่นเอง ให้มันวนรอบนะคะ ถ้าเราใช้ for นี่ นั่นหมายถึงเรารู้แล้วว่าเราต้องการให้มันวนซ้ำกี่รอบ นึกออกไหม สมมติว่าเราต้องการให้วนซ้ำ 10 รอบนี่เราใช้คำสั่ง for เลย เพราะเรารู้จำนวนรอบที่ให้มันวนแน่นอนแล้ว ก็เลยใช้ for แต่ถ้าเป็น while while loop นี่นะคะวน ใช้คำสั่ง while เพื่อวนซ้ำนี่นะคะ while นี่มันจะทำงานนะคะ ซ้ำเมื่อเงื่อนไข เงื่อนไขเห็นไหมล่าม... จอวีดิ... สัญญาณล่ามไม่ไป เอาใหม่ คำสั่ง while นะคะเด็ก ๆ คำสั่ง while มันจะวนซ้ำ วนซ้ำนะคะ ทำงานวนซ้ำเมื่อ เงื่อนไขต้องมาดูที่เงื่อนไข ใน loop นะคะ ที่อยู่ใน loop นี่ ยังเป็นจริง ก็คือมันจะทำเมื่อเงื่อนไขเป็นจริง เมื่อเงื่อนไขเป็นเท็จเมื่อไรมันจะหยุด ก็คือจะหยุดทำเมื่อไปเจอเงื่อนไขไม่เป็นจริง เช่น เหมือนบอกว่า ตั้งเงื่อนไขไว้ว่าจำนวนจำนวนหนึ่ง มีค่าเริ่มต้นที่ 5 ทีนี้แล้วให้ทำอย่างไร ให้วน วนการทำงาน โดยมีเงื่อนไขว่าถ้าจำนวนนี้มัน...มันไม่เกิน 10 นะคะ ก็คือถ้าจำนวนที่เริ่มต้นจาก 5 นี่ แล้วบวกครั้งละ 1 นี่ แล้วไม่เกิน 10 นี่ นึกออกนะ5 + 1 ก็เป็น 6 5 + 1 ก็เป็น 7 5 + 1 ก็เป็น 8 มันจะทำไปจนกระทั่งถึง 10 ใช่ไหม 10 ยังทำอยู่ แต่พอ 5 + 6 เป็น 11 ปุ๊บ ไม่เป็นจริงแล้วนึกออกไหมคะ เพราะฉะนั้น เลขที่ออกมามันจะเป็น 6 7 8 9 และ 10 ถึงแค่ 10 เท่านั้น เลข 11 ก็จะไม่แสดงให้เห็นนะคะ ก็คือจะทำจนกว่าเงื่อนไขในลูปนั้นน่ะ โดยเงื่อนไขใน loop นั้นมันหยุด จะหยุดทำเมื่อมันไปเจอเงื่อนไขที่ไม่ตรง ไม่ตรงตามที่กำหนด ปุ๊บ มันจะหยุดทำงานเลยนะคะทีนี้เดี๋ยวมาดูตัวอย่าง ตัวอย่างแรก for เนื่องจากคอมพิวเตอร์นี่ เวลาเราจะให้แสดงผลนะคะ ใน for นี่โดยใช้ for นี่ บอกแล้วว่ามีจำนวนรอบที่ชัดเจนหรือมีข้อมูลที่ชัดเจน เช่น for loop ตัวแรกนี่ เพื่อการแสดง หรือวนซ้ำที่เป็นลักษณะข้อมูลที่เป็นตัวอักษร บอกแล้วนะคะ ลักษณะข้อมูลที่เป็นอักษรหรือข้อความดูง่าย ๆ ก็จะมีเครื่องหมายคำพูด Single Quoat หรือ Double Quoat นะคะ ทีนี้ในตัวอย่างนี่เรามีตัวแปรชื่อว่า name โดยกำหนดค่าให้ name ชื่อนี้ค่าเริ่มต้นอยู่ที่คำว่า "สุธิรา" นะคะ เสร็จแล้วมาใช้ for คำสั่ง forเพื่อมีตัวแปรขึ้นมา 1 ตัว เพื่อจะมาทำการเป็นเหมือนจำนวนรอบนะคะ for in for n ใช้ว่า n n มันก็ย่ามาจาเหมือน name นี่ล่ะ ให้รู้ว่า n นี่นะคะ ถ้า end ใน name เห็นไหมคะ for in name สำหรับ n ที่อยู่ใน name นะคะ นะคะ ก็คือต้องการให้คุณวนไอ้ตัวนี้ ไอ้สิ่งที่อยู่ใน name นี่ วิธีการก็คือให้ print n ให้เห็น อย่างไร อันดับแรก เราเห็นตัวอย่างแล้วนะ ทีนี้เราก็ต้องลองโค้ดดูเด็ก ๆ จะต้องเปิดโปรแกรม Colab จำได้นะคะ ที่เป็นออนไลน์ในสัปดาห์ก่อนน่ะ เปิด Web browser ขึ้นมาลูก เปิดเว็บเบาเซอร์แล้วนะ แล้วพิมพ์ Colab ColaColab นี่ ที่เป็นโปรแกรมเขียนโค้ดออนไลน์น่ะค่ะ เขียนโค้ด Python นะ เลือกตัวนี้Colab ตัวนี้นะคะ Colab Colab คลิกเข้าไปเลยคลิกเข้าไปเลย ก็ให้เราเข้าสู่ระบบจำได้นะ ก็คือ... ไม่แน่ใจเข้าให้หรือยัง เดี๋ยวลองก็ได้ถ้าเข้าสู่ระบบจำได้นะ เคยเข้าสู่ระบบไว้แล้วน่ะ ให้เข้า เดี๋ยวมันไม่ Run เดี๋ยวจะ Run ไม่ได้ เด็ก ๆ ต้องคลิกเข้าสู่ระบบด้วยไม่แน่ใจเหมือนกันใช้ตัวไหน นะคะ ถ้าใครเข้าสู่ระบบเรียบร้อยแล้วสังเกตบัญชีจะต้องเป็นรูปเราหรือชื่อเรานะ เสร็จแล้วเราเริ่มต้น ก็คือเราเลือก Code ใช่ไหม ก็คือ Coding นั่นเอง ก็คือเราจะเริ่มเขียนโค้ด เปิดให้เห็น 2 หน้าต่างทำอย่างไรเดี๋ยว ๆ เดี๋ยวนะ มันต้องย่อ 2 หน้าไม่อย่างนั้นมันจะมองไม่เห็น Coding แป๊บ สลับ มันออกมาตัวไหนนี่มาตัวไหนนี่ เลือกผิดอันใช่ไหมนี่ นะเด็ก ๆ นะ แป๊บหนึ่งนะ ไม่เห็น วางไว้คู่กัน เอาไว้ฝั่งไหนจะเห็นไม่ได้อีก ใหญ่ไป ไม่ให้ความร่วมมือในการย่อเลย เห็นไหม เห็นหรือยัง โอเคนะ ไม่ยอมปิดไปให้อีกเปิด 2 หน้าต่าง เดี๋ยวเปิด 2 หน้าต่างนะคะ โอเคไหม เดี๋ยวจะเปปิดแบบ 2 หน้าต่างโอเค ได้ไหม ไม่เห็นฝั่งนี้อีก เอาลงมานี่ เดี๋ยวนะ แป๊บหนึ่งโอเคหรือยัง Colab ไม่เห็นอีก โอเคนะคะ บรรทัดแรกให้ประกาศตัวแปรใช่ไหม ตัวแปรชื่อว่า name เราก็เริ่มเลย เริ่มพิมพ์ name นี่สังเกต บอกแล้วตัวแปรนี่ควรจะเป็น ถ้าใช้ตัวเล็กต้องจำได้นะคะ ตัวเล็กตัวใหญ่ต่างกัน name ปึ๊บ วิธีประกาศตัวแปรชื่อตัวแปรแล้วตามด้วยเครื่องหมายเท่ากับ โดยก่อนจะพิมพ์เครื่องหมายเท่ากับเราต้องเว้นวรรคเสมอนะคะ เครื่องเท่ากับแล้วก็ตามด้วยบอกค่า หรือบอกชนิดของข้อมูล ตัวแปรนี้ชื่อตัวแปรก็บอกอยู่แล้ว name name นั่นหมายถึงชื่อ ค่าที่เราจะใส่เข้าไปก็คือชื่อนะคะ เด็ก ๆ ใส่ชื่อตัวเองก็ได้นะคะ ถ้าอยากรู้นะคะ ไม่จำเป็นต้องใส่ชื่อแม่ลงไป พิมพ์ชื่อตัวเองลงไปก็ได้ ตรงนี้ข้อมูลในนี้คือเด็ก ๆ กำหนดเองได้นะคะ ใส่ลงไป แต่ให้รู้ว่าตัวแปรนี้ก็คือตัวแปรสำหรับข้อมูลที่เป็นชื่อนั่นเองนะคะ เสร็จแล้วในบรรทัดที่ 2 เราจะใช้คำสั่ง for นะคะ for แลเวก็มีตัวแปรชื่อว่าn สังเกตนะคะ ถ้าไม่ได้กด Tab นี่ ไม่ต้องไปทำอะไรมันนะ ตำแหน่งของโครงสร้างของตัวโปรแกรมน่ะ ต้องพิมพ์ให้ถูกต้องตามโครงสร้าง ไม่อย่างนั้นขึ้น Error นะคะ for n in in นี่ก็เป็นคำสั่งที่ใช้คู่กับ for นะคะ for n in name นะคะ ก็คือตัวแปร n ใน name นี่นะคะ ทุกครั้งที่ใช้คำสั่ง for ปิดตัวคำสั่งด้วยเครื่องหมาย : เสมอะนคะ สังเกตเห็นไหมใน colab นี่สีของตัวแปรมันจะเป็นสีดำเห็นไหมคะ อะไรเป็นตัวแปรมันจะเป็นสีดำเห็นไหม บอกให้รู้ นะคะ จากนั้นสั่งลูปแล้ว สิ่งที่ต้องการต่อมา ก็คือให้มันแสดง สั่งให้มันวนลูป แต่เราจะรู้ได้อย่างไรหรือไม่ เราก็ต้องสั่งให้มันแสดงในการแสดงผล เห็นไหมคะ เมื่อเราพิมพ์คำสั่ง for พอกด Enter ปุ๊บ สังเกตตำแหน่งมันจะขยับเข้ามามันจะไม่อยู่ชิดนะคะ คำสั่ง print นั่นเอง p-r-i-n-t print นั่นเอง p-r-i-n-tprint แล้วก็พิมพ์เครื่องหมายวงเล็บ เห็นไหมคะ สิ่งที่เราต้องการให้แสดงใน print นะคะ ก็คือตัวแปรที่ชื่อว่า n นะคะ เพราะว่าใน for นี้สั่ง สั่งให้ n ทำงาน เพราะฉะนั้น เราต้องใช้ให้แสดงตัวแปรที่ชื่อว่า n จำได้หรือเปล่า วิธี Run Code ในตัวโปรแกรมนี้ ก็คือกดที่ปุ่ม เหมือน Play นี่เห็นไหมคะ กด 1 ครั้ง มันก็จะหมุน หมุน หมุน เพื่อให้มันแสดงผล นี่เน็ตช้านะนี่ เห็นไหม สิ่งที่จะแสดงออกมา เห็นไหมคะ n ใน name ใน name มีอะไร มีคำว่า "สุธิรา" ธิ-ร-า ถ้าเด็ก ๆ ใส่ชื่อตัวเอง สิ่งที่มันแสดงออกมามันก็จะเป็นชื่อของเด็ก ๆ นะคะ เข้าใจนะ บอกแล้วว่า for นี้มันใช้ในกรณีที่ให้วนรอบที่มีจำนวนมที่แน่นอน เพราเหมือนชื่อนีก็คือชื่อมันโดนระบุว่ามีตัวอักษรแค่ 1 2 3 4 5 6 นึกออกไหม มันก็จะทำไปจนกว่าจะแสดงชื่อของเราน่ะค่ะ จนครบ นึกออกนะ เพราะฉะนั้น ถ้าสมมติเด็ก ๆ ลองเปลี่ยนนะคะ ใส่ทั้งชื่อและนามสกุลตัวเองเข้าไปดู ใน Colab นี่ พิมพ์ภาษาไทยได้อยู่แล้ว เด็ก ๆ เปลี่ยนรูปแบบนะ ฟอนต์เป็นไทย เป็นอังกฤษ เดี๋ยวลองดูนะคะ อีกรอบหนึ่งนะคะ เมื่อกี้เฉพาะชื่อใช่ไหมคะ เราจะลองทั้งชื่อทั้งภาษาอังกฤษนะ เราก็กดที่โค้ดอีก 1 ครั้ง ขี้เกียจพิมพ์แล้วนะ วิธีการ Copy ดูนะคะ กดเมาส์ค้างแล้วลากเมาส์ขึ้นไปให้มันเกิด Tab เห็นไหมคะ แล้วก็กดอะไรCtrl + C เสร็จแล้วก็กด Ctrl + V เพื่อวาง บอกแล้วให้เด็ก ๆ ใส่ทั้งชื่อและนามสกุล ใช้ตัวแปรเดิมเลย ใช้ตัวแปรเดิมแต่ไปเพิ่มข้อความใช่ไหม เพิ่มนามสกุลเข้าไปในตัวแปรนั้น แล้วก็ลอง Run ดูนะคะ เห็นไหม ผลออกมาก็จะ Run จนครบหมดเลยนะคะ มีหมดทุกตัว ไม่มีขาดไม่มีหล่น เพราะมันรู้แล้วว่ามันมีประโยคนี้อยู่ในนี้ มันก็จะ Run ให้นะคะ ทีนี้เดี๋ยวเด็ก ๆ เขียนเองนะอยากให้นะคะ จะใช้หลักการนี้แต่เปลี่ยนแต่ชื่อ ดูนะ เราจะเปลี่ยนจากชื่อนะคะ เป็นเบอร์เบอร์โทรศัพท์ นึกออกนะไม่เอาแล้วชื่อ เข้าใจนะ ให้แสดงเบอร์โทรศัพท์นะคะ นะคะ ตัวแปรสำหรับเก็บเบอร์โทรศัพท์ แล้วก็ใส่ค่าเบอร์โทรศัพท์เข้าไป แล้วก็เปลี่ยนชื่อตัวแปรนี้เป็นแล้วแต่เด็ก ๆ จะเปลี่ยนนะคะ ให้ตรงกัน แล้วก็แสดงผลของตัวแปรออกมา ลองสิ อยากให้ print เบอร์โทรของแต่ละคน ลองทำเองนะ จะไม่พาทำ อธิบายแล้ว คือ จากเดิมนะ เราแสดงชื่อ ทีนี้เราจะแสดงเป็นเบอร์โทรศัพท์แทน เด็ก ๆ ลองเปลี่ยนโค้ดอันดับแรกเสมอนะคะ ทุกครั้งเสมอ ก็คือสิ่งที่เราจะต้องมี ก็คือตัวแปรที่เราจะใช้ อันนี้ตัวแปร name สำหรับชื่อไปแล้ว เราก็จะส้รางตัวแปรสำหรับข้อมูลของเบอร์โทรใช่ไหม เบอร์โทรจะตั้งชื่อตัวแปรว่าอะไรนะคะ เสร็จแล้วคำสั่ง for นี่ รูปแบบเดิมเลยแต่ให้เปลี่ยนแค่ตัวแปร นึกออกนะ2 ตัวนี้ n กับ name นี่เปลี่ยน เพราะฉะนั้น ถ้า name เป็นตัวแปรที่เก็บชื่อ เพราะฉะนั้น ตัวแปรที่เก็บเบอร์โทรชื่ออะไร ก็ต้องเปลี่ยนให้ตรงกับตัวนี้ เห็นไหม มันจะมาแต่ตัวนี้ตั้งขึ้นเป็นตัวแปรที่ตั้งขึ้น เพื่อให้มันวนน่ะค่ะ มันวนรอบ ตั้งเป็นตัวอะไรก็ได้แล้วแต่เด็ก ๆ เลยนะคะ หรือจะเอา n เหมือนเดิมก็ได้ แตทับอกแล้วหลักการมันควรจะสอดคล้องกัน เพื่อให้รู้ว่าตัวแปรนี้มันจะมาดึงข้อมูลตัวนี้มาแสดงนะคะ แล้วพอสั่ง print เราจะสั่ง print ตัวแปรที่อยู่หลังคำสั่ง for เสมอลองดูสิ อยากให้ใครจะสามารถแสดงเบอร์โทรตัวเอง โดยใช้คำสั่ง for ได้ ลงมือเลย ทำเลย ให้ทำเองนะคะ เวลาเราจะเขียนโค้ดใหม่ นึกออกนะ เด็ก ๆ คลิกที่นี่เสมอ ตำแหน่งบวกโแล้วมันก็จะขึ้นบรรทัดใหม่ขึ้นมาเห็นไหม แล้วก็เริ่มลงมือเห็นไหมคะ มันก็จะมีบอก 1 2 อันนี้เมื่อทำเสร็จอันนี้ก็จะเป็น 3 ตอนนี้โค้ดเรา มี 2 อันแล้วนี่นะคะ จะย่อ อันดับแรก ประกาศตัวแปรสำหรับเก็บเบอร์โทรศัพท์เมื่อกี้เอ็กซ์ตร้าทำแล้ว แต่เอ็กซ์ตร้าไม่ยอมเปลี่ยนตัวแปร เอ็กส์ต้าต้องเปลี่ยนนึกออกไหม มันเก็บคนละอันน่ะ ให้นึกถึงนะ เพราะ name มันเก็บชื่อใช่ไหมคะใช่ไหม name เก็บชื่อ แต่ทีนี้เก็บเบอร์โทร ตั้งชื่อตัวแปรใหม่ เพื่อเก็บเบอร์โทรศัพท์ นึกออกนะ ไม่ควรใช้ชื่อเดิมน่ะลูก ให้นึกถึง ในกรณีที่เปลี่ยนโจทย์นี่ตัว ชื่อตัวแปรมันก็ต้องสอดคล้องกับที่เก็บนึกออกนะ ไม่ใช่ยังใช้ name แล้วก็มาเปลี่ยนแต่ไส้ในเป็นเบอร์โทรนะคะ เข้าใจไหม ลองสิ ลองเขียนใหม่ เอ็กส์ต้าลองเขียนใหม่ ก็คือเมื่อโจทย์เปลี่ยนนี่เราต้อง... นะคะ หลักการเขียนโค้ดนี่ เราจะเปลี่ยนโจทย์หรือเปลี่ยนสิ่งที่เราต้องการ Output ออกมาปุ๊บ สิ่งที่เราก็จะมีพวกตัวแปรใช่ไหม ตัวแปรหรือกระบวนการ เช่น คำสั่งที่ใช้ในการวนรอบอย่างนี้นะคะ นี่ โอเคนะคะ เมื่อกี้เดินไปดูแล้วก็ตอนแรกอาจจะยังงง ๆ อยู่ แต่ดูแล้วพออธิบายอีกครั้งหนึ่งก็จะเข้าใจนะคะ ก็คือจากเดิมนะคะ เราใช้ชื่อตัวแปร name นี่ เพื่อเก็บชื่อนามสกุลใช่ไหมคะ แต่ทีนี้บอกว่า โจทย์ก็คือบอกว่าต้องการให้เก็บเบอร์โทร แม่ก็จะตั้งชื่อตัวแปรใหม่ ก็จะมีตัวแปรใหม่ขึ้นมา Tell Tell ก็คือโทรศัพท์ใช่ไหมคะ หรือ phone ใช่ไหมคะ p-h-o-n-e ใช่ไหม ตามตัวเลยก็ได้ เพราะบอกแล้ววิธีการตั้งชื่อตัวแปรนี่ ก็พยายามให้มันใกล้เคียงกับความหมายภาษาไทของเรานั่นเองนะคะ สังเกตว่าข้อมูลที่มันเป็นเบอร์โทรนี่มันเป็นเลขก็จริง แต่ความเป็นจริง มันคือเป็นตัวเลขหรือข้อความหนรือตัวอักษรเราดี ๆ นั่นเองนะคะเราก็เลยต้องให้มันแสดงอยู่ในรูปของข้อความ ก็คือใส่เครื่องหมายคำพูด 0 8 0 6 39793539 2539 อย่างนี้นะคะ เสร็จแล้วก็ใช้คำสั่ง for เหมือนเดิม for โดยที่...โดยที่กำหนดให้ตัวแปร t นะคะ ตัวแปรชื่อว่า t นี่ เข้าไปวนรอบอยู่ใน phone ของเราตัวแปร t ไหม วนรอบอยู่ใน phone ของเรานะคะ เสร็จแล้วเราก็ให้มันแสดงไอ้เจ้าตัวแปร p นั้นให้เห็น พอสั่ง print ปุ๊บ นะคะ ก็จะprint เบอร์โทรออกมาทีละตัว ทีละตัวอย่างนี้นะคะ อันนี้คือใช้ for นะคะ ในกรณีที่ loop เพื่อให้แสดงข้อความนะคะทีนี้เมื่อมีข้อความแล้ว แล้วในกรณีที่เป็นตัวเลขน่ะ เห็นไหมคะ ลืม for แบบตัวเลขใช่ไหมนี่ อยู่อันล่าง เดี๋ยว ๆ ตอนนี้เป็นข้อความอยู่นะคะ ยังเป็นข้อความอยู่นะ แต่เป็นข้อความแบบเป็นชุด มาเป็นชุดเลยfor loop to list หมายถึงอะไร เดี๋ยวขยายก่อน อธิบายก่อน ทำไมหน้าจอมันโดนเปลี่ยนไปแบบนี้ตั้งค่าจอไม่บาล้าน มันล้นน่ะ เซ็ตจอใหม่นะคะ สำหรับlist นี่ มันหมายถึงข้อมูลนะคะ นี่ที่อยู่ในวงเล็บที่เป็นสี่เหลี่ยมน่ะนะคะ ก็คือ เป็นข้อมูลที่มาเป็นชุดเลย เช่น ประกาศตัวแปรชื่อว่า nickname nickname ก็คือชื่อเล่นภาษาไทยออกมา เพราะฉะนั้น ในชุด ก็คือถ้าบอกมาเป็น list เราจะต้องมีวงเล็บสี่เหลี่ยมนี่ขึ้นมาคลุม แล้วก็ตามด้วยข้อมูลชนิด ชื่อเล่น ชื่อเล่นก็ใช้ตัวอักษรใช่ไหมคะ มีองุ่น มีมีเอ็กซ์ตร้าแบบนี้นะคะแล้วใช้คำสั่ง for เพื่อที่จะแสดงข้อมูลที่เป็น list ต่างกันอย่างไรกับเมื่อกี้ที่เป็นตัวอักษรนะคะ เดี๋ยวเราจะลองเขียนโค้ดตัวนี้ดู เปิด colab เลย เปิด colab แล้วทำไปพรนะคะ เหมือนเดิมนะคะ เพิ่มโค้ดใหม่ เราจะเขียนโค้ดใหม่แล้วนะคะ เราจะแสดงผลที่เป็น list นะคะเด็ก ๆ ไปทีละบรรทัดดูที่บรรทัดแรก เอาใหม่ ๆ ๆ ย่อแล้วขยายหน้าจอกันอยู่นี่ล่ะ โอเคไหม หมดไหมเข้าไปเยอะไป เดี๋ยวนะ เดี๋ยว ๆ ขอจัดให้เด็ก ๆ จะได้เห็นได้หมดนะ เราจะได้เห็นทั้ง 2 ฝั่งนะคะ เห็นทั้ง 2 จอโอเคไหม ตำแหน่งแรกนะคะ ประกาศตัวแปรชื่อว่า nickname นะคะแล้วกำหนดค่าในตัวแปร nickname เป็นแบบ list ก็คือใส่วงเล็บสี่เหลี่ยมใหญ่เข้าไปเด็ก ๆ เห็นไหม เห็นไหมคะ ใน Colab พอกดสี่เหลี่ยมเปิดปิดตามมาทันที ในนี้เราก็ใส่ชื่อเล่นลงไปนะคะ เสร็จ 1 ชื่อขั้นด้วยคอมมาใช่ไหม เสมอนะคะ ชื่อเล่น ถ้าตัวเองอยากเอาชื่อตัวเองใส่เข้าไปจากองุ่นก็เป็นกุ้งนางนะหรือบาสขึ้นก่อน เอ็กซ์ต้าขึ้นก่อน แล้วแต่นะคะ พอหมดหนึ่งชื่อ ชื่อใหม่จะต้องคั่นด้วยเครื่องหมายโคลอนอย่างนี้... ไม่ใช่สิ คอมมาสินะ ซักสับสนแล้วโคลอน คอมมา คั่นด้วยคอมม่านะคะ เสร็จข้อมูลชื่อเล่นชุดที่ 1 จะขึ้นชุดใหม่ต้องใส่คอมมาเข้าไป แล้วก็ตามด้วยเครื่องหมาย Single Quote ชุดข้อมูลนี่ เด็ก ๆ สามารถใส่เกิน 3 อันก็ได้นะคะ คือ มันหมายถึงชุดเดียวกันนึกออกนะใส่แค่ 2 ก็ได้ แต่ความจริงตามหลักชุดข้อมูลมันมีหลายตัว ไม่ได้มีแค่ตัวเดียวนะคะ เพราะเหมือนชื่อเล่น เหมือนในห้องเราก็มี 8-9 คนแบบนี้นะคะ นั่นก็คือข้อมูลชื่อเลของทั้งชุดอย่างนี้นะคะ เดี๋ยวเพิ่มก็ได้นะคะ สมมติเพิ่มเป็น 5 คน ก็ได้นะคะ ก็คือถ้าในนี้ เรามา 3 นี่ อยากไปเพิ่มทีหลังก็เพิ่มได้ ก็คือจำไว้ว่าให้มันอยู่ในวงเล็บสี่เหลี่ยมใหญ่นี่ มันจะ โปรแกรมมันจะรู้ทันทีว่า อ๋อ นี่มันเป็นชุดข้อมูลหรือ list นั่นเองนะเหมือนเดิม เสร็จแล้วก็ใช้คำสั่ง for นะคะ for เพื่อให้ตัวแปร nickสมมติตั้งชื่อตัวแปรนี้ว่า nick nick ก็คือ nickname ใช่ไหมคะ ในไม่เอา n แล้ว เบื่อ ตัวแปร a for a = ใน nickname สังเกต ชื่อตัวแปรมันจะขึ้นมา แล้วก็คลิกได้เลยแล้วก็อย่าลืมใส่โคลอน แล้วก็ print print ตัวแปรที่อยู่หลัง for ก็คือตัวแปร a นั่นเองนะคะสิ่งที่เราต้องการให้แสดงจะอยู่ที่ a เสร็จแล้วจะ Run ผลให้ดูนะคะ เด็ก ๆ ดูการ Run for แบบที่ไม่เป็นชุดข้อมูลตัวแรกนะจากตัวอย่างข้างบนกับตัวนี้ เดี๋ยวจะเปรียบเทียบให้ดูว่ามันต่างกันอย่างไร เห็นไหม ถ้าเป็น list มันจะมาเป็นคำ ๆ เลย เป็นชื่อเลยเห็นไหมคะ ต่างกันนะใช่ไหม แบบที่ 1 น่ะ เรามาแบบเป็น Sting มันจะไล่เป็นตัวอักษรทีละตัวอักษรนะ แต่แบบที่ 2 เราน่ะ ชนิดของตัวแปรเรานี่ มันเป็น liเวลาสั่ง print มันก็จะออกมาเป็นชุด ๆ นึกออกนะ ข้อมูลมันก็จะเป็นชุดชื่อเล่นเลย องุ่น บาส เอ็กซ์ต้า มิ่ง แล้วก็ตี๋น้อยนะคะ นี่คือลักษณะของข้อมูลที่เป็น list ใส่ปีกกาใหญ่เข้าไปนี่ คุมเข้าไปนี่จะได้ข้อมูลที่เป็นชุดแบบนี้ออกมาเลยนะคะ บางทีนะคะเวลาเขียนโค้ดแล้วผิดนะคะ เช่นนี่ เดี๋ยว ๆ เดี๋ยวทำให้ดูนะคะ เมื่อกี้ โปรแกรมมันจะแจ้ง Error เสมอเดี๋ยว Run ให้ดูนะ ปุ๊บ นี่ถ้ามันขึ้น name error เช็กง่าย ๆ เลย ก็คือให้ไปดูที่อะไร ตำแหน่งของตัวแปรนะคะ ใช่ไหมname ก็คือชื่อของตัวแปรนั่นเอง นี่เห็นไหม ให้ดูที่ตัวแดง ๆ ตัวนี้ บอกว่า name Error เห็นไหมคะ name nicknum มาจากไหนชื่อว่า nickname เห็นไหมคะ ตำแหน่งมันจะบอกชัดเจนเลยนะคะ ชื่อมันจะบอกชัดเจนว่าผิดตรงไหนนะคะ is not defind ไม่ได้มี คุณไม่ได้ประกาศ เราไม่รู็จักนะคะ มันจะบอก แล้วอะไร สังเกตตรงนี้มันก็จะขึ้นเส้นหยัก ๆ สีแดง ๆ ในบรรทัดที่เกิด Error น่ะ มันจะมีไอ้ตัวนี้ขึ้นมาเลย เห็นไหมให้รู้ตำแหน่งว่าผิดตรงนี้นะคะ เพราะฉะนั้น เวลาบอกแล้ว ตัวแปรตั้งชื่อ ต้องเช็กด้วยว่าใส่ถูกไหม เวลาจะเรียกใช้มันด้วยนะคะRun ใหม่ แก้แล้วอย่างนี้นะคะ แก้แล้วก็จะได้ผลลัพธ์ออกมาเป็นแบบนี้นะคะ นี่คือในกรณีที่เป็น loop แบบ list นะ เมื่อกี้เป็นชุดข้อมูลที่เป็นข้อความ อยากให้ลองมาดูตัวต่อมาค่ะ ชุดข้อมูลที่เป็นตัวเลข เห็นไหมคะ อาจารย์แม่เลยประกาศตัวแปรชื่อว่า numbers number ก็คือจำนวนหรือตัวเลขนั่นเองนะคะ แล้ว ให้ตัวแปรชนิดนี้เป็นข้อมูลชุดนะคะ ก็เลยใส่เครื่องหมายวงเล็บสี่เหลี่ยมใหญ่เข้าไป ประกอบด้วยเลข 5, 10, 15 สังเกตถ้าข้อมูลแบบตัวเลข ไม่ต้องใส่เครื่องหมายคำพูด เห็นไหมคะ ไม่ต้องใส่ Single quote หรือ Double quote เราพิมพ์ตัวเลขลงไปได้เลย แล้วคั่นด้วยตัวเลขแต่ละชุดด้วยคอมมา คอมมานะคะ ถ้ามี 3 ก็ใส่แค่ 2 ตัวสุดท้ายไม่ต้องใส่ ลองดูนะคะ แบบที่เป็นตัวเลข เหมือนเดิม ให้เด็ก ๆ เขียนโค้ดนะคะ แล้วก็ประกาศตัวแปรชื่อว่า number นะคะ n-u-m-b-e-r ประกาศตัวแปรชื่อว่า numbers เติม s เพราะว่าอะไร เพราะมันมีตัวเลขหลายชุดไม่ได้มีตัวเดียวนะคะ แล้วทำอย่างไรต่อ แล้วกำหนดค่าเริ่มต้นของชุดข้อมูลตัวนี้ด้วยเลข 5 นะคะ 10, 15 เอา 5 ตัวแล้วกัน5 ชุด 25 เพิ่มทีละ 5 5 10 15 20 ก่อนสิ เพิ่มทีละ 5 กระโดดข้ามเลย ถึง 30 25 แล้วก็ 30 นะคะเสร็จแล้วใช่คำสั่ง for เพื่อให้มันทำการวน loop ตัวแปร n ที่อยู่ในnumber n-u-m-b-e-r อย่าลืมนะคะ ตัวแปรที่เราประกาศมี snumbers ที่เราประกาศมี s ด้วยก็ต้องใส่ s numbers นะคะแล้วก็ปิดด้วยคำสั่ง for ด้วยทุกครั้งที่จบคำสั่ง for ต้องปิดด้วยเครื่องหมาย : เสมอนะคะ แล้วใช้คำสั่ง print ในการแสดงผลprint อะไร print สิ่งที่ หรือ print ตัวแปรที่อยู่หลัง for ก็คือตัวแปรที่ชื่อว่า n นั่นเองนะคะ เห็นไหม เห็นไหมคะ เป็นชุดนี่มา เป็นตามชุดมันเลย ถ้ามีชุดจะมีความแตกต่างกันนะคะ ระหว่างชุดกับไม่เป็นชุด สังเกตนะคะ ถ้าเราประกาศตัวแปรไปแล้ว แล้วเวลาเราจะเรียกใช้ เด็ก ๆ ดูตรงนี้นะ n ปุ๊บนี่ num นี่ ให้เราเลือกตัวที่มันขึ้นเห็นไหม ตรง... มันเป็สิ่งที่ประกาศไปแล้ว จะพิมพ์ไม่ผิดนะคะ จะไม่เกิดปัญหาร name Error เพราะตัว Colab มันจะช่วยในการเช็กว่ามีคำสั่งนี้มีตัวแปรชื่อนี้นะ เราเช็กดู ถ้าเรามี เราก็คลิกเลือกมาใช้ได้เลยอันนี้ for for loop สำหรับตัวเลขไปแล้วนะ ยังมีอีกนะคะ for ที่ใช้ตัวต่อมา for ที่ใช้คำ with range range คืออะไร มันเป็นฟังก์ชันที่โปรแกรม Python สร้างไว้แล้วน่ะค่ะ เขาบอกbuilt-in ฟังก์ชันนะคะ ใช้สร้าง Object ตัวเลขโดยจะมี paramitor 3 ตัว ก็คือมีตัวเลขเริ่มต้น ตัวเลขสุดท้าย แล้วก็ตัวเลขที่จะ... หรือค่าที่มันจะทำให้เกิดการเปลี่ยนแปลงในตัวเลขนั้น วิธีการใช้งาน for ที่มี range ด้วยนี่นะคะ รูปแบบ ก็คือเห็นไหมคะ พิมพ์คำว่า "for" ตามด้วยตัวแปรแล้วระบุคำว่า ... เอ้ย แล้วใช้คำสั่ง in ในแล้วก็พิมพ์ฟังก์ชัน range () หรือคำสั่ง range มา ในนี้ 1 1 ก็คือค่าเริ่มต้น ก็คือบอกว่าให้มันเริ่มที่เลข 1 แล้วไปสิ้นสุดที่เลขอะไรคะ 6นะคะ แล้วให้มันลอง print สิ่งที่อยู่ใน 1 ค่าเริ่มต้นเริ่มที่ 1 แล้วไปสิ้นสุดที่ 6 นี่ คืออะไร อยากรู้ผลลัพธ์ในการใช้คำสั่ง for loop ด้วย range นี่ เมื่อกี้ตัวเลขที่เป็นชุดนะ ใส่แบบนี้เลย กับอีกแบบหนึ่งเป็นตัวเลขเหมือนกัน แต่บอกค่าเริ่มต้นกับเลขสุดท้าย เห็นไหมคะ ในวงเล็บนี่ นี่คือตัวเลข 1 นี่ หมายถึงค่าเริ่มต้น เลข 6 นี่หมายถึงค่าสุดท้ายที่ให้ for มันทำงานนั่นเองนะคะ เราลอง Codeding ดูไม่มีประกาศตัวแปรเลย เพราะบอกแล้วว่า range เป็นตัวเลขที่เป็นชุดอยู่แล้ว ก็คือมันจะใช้สำหรับ for ที่ใช้สำหรับวนรอบตัวเลขที่เป็นชุดที่ต้องการให้ทำนะคะ เพราะถ้าคิดว่า 6 มันน้อยดูนะคะ คอมพิวเตอร์มันสามารถ Run ได้สูงสุดเท่าไร เด็ก ๆ อยากรู้ไหม ใช้คำสั่ง for นะคะสำหรับตัวแปรที่ชื่อว่า a โดยใน a นั้น มี range มีพารามิเตอร์ของตัวเลข n เห็นไหมคะ ในนี้มันก็จะขึ้นมาเลย คำสั่ง range ไม่อยากพิมพ์ผิดก็คลิกได้เลย เห็นไหม r-a-n-g-e นะคะ แล้วก็ใส่เครื่องหมายวงเล็บ ค่าเริ่มต้นเริ่มที่อยากเริ่มที่ 100เปลี่ยนจาก 1 1 มันน้อย เดี๋ยวจะว่าไม่เจ๋งจริง ดูคอมพิวเตอร์ประมวลผล เอาเท่าไรดี เอาหลักเท่าไรดี จะทะลุเดือดไปไหม100-200 นี่ก็เยอะแล้วนะ เดี๋ยวให้ดูว่ามันจะทะลุเดือดมาจากไหน พอมัน Run ออกมาแล้วมันจะเป็นอย่างไร อย่าลืมนะคะปิดคำสั่ง for อย่าลืมใส่โคลอนเสมอ ไม่อย่างนี้พอกด Enter มันจะไม่ Tab ให้ เพื่อทำงานในคำสั่งต่อไป สิ่งที่เราต้องการ print ตัวแปรที่อยู่ท้าย for ก็คือตัวแปร a ดูนะเด็ก ๆ 100-200 เห็นหรือเปล่าเยอะนะคะ มันนับเลยนะ 100, 101, 102 เห็นไหม เราทำเอง เราจะทันไหม เด็ก ๆ จะสงสัย มันแค่ 199 อย่าลืมนะคะ ค่าเริ่มต้นเริ่มที่ 100ค่าสุดท้ายนี่คือค่าของจำนวนที่มันจะ เขาเรียกว่าอะไรล่ะ ให้มันวนน่ะ มันเริ่มนับที่ 100 เป็นรอบที่ 1 เพราะฉะนั้นพอไปถึง 199 มันคือรอบที่ 200 นะคะ ทีนี้ใส่เยอะเดี๋ยวไม่ชัวร์ เปลี่ยนจำนวนรอบไหม เปลี่ยนจำนวนรอบจาก 100 เหลือ 110 จะได้รู้ว่ามัน Run แค่10 รอบไหมนะคะ 110 จะเยอะไป เอา 10 นะ Error นะนี่ 110 สิ ค่าเริ่มต้น ค่าสิ้นสุด 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 เห็นไหมคะ จำนวนรอบมันจะไปถึง10 รอบน่ะ จาก 100 นับที่ 1 2 3 4 5 ุ6 7 8 9 10 เห็นไหมคะ พอถึง 110 มันก็จะหยุด มันมีจำนวนรอบที่แน่นอนบอกแล้วนะคะ นี่คือใช้ในกรณีที่เป็นตัวเลข อยู่ในช่วงข้อมูลเลย 1 - 6 อย่างนี้นะคะ 1-100 100-110 นี่ มันก็จะไปจนถึงนั่น ลักษณะของ for loop with range () จะเป็นแบบนี้เห็นไหม เฉพาะคำสั่ง for นี่ ได้หลายแบบเลย เห็นไหมคะหมดจาก for แล้ว เราจะมาเริ่มที่ while บ้างนะคะ เมื่อกี้ดู for ไปแล้ว ทีนี้มาดูการวนรอบแบบwhile while บอกว่ามันจะทำงานเมื่อคำสั่งยังเป็นจริง ถ้าเมื่อใดที่คำสั่งเป็นเท็จมันจะหยุดทำงาน ให้มาดูที่รูปแบบของ while นะคะ ก่อนอื่นประกาศตัวแปรนะคะ 1 ตัว เพื่อเหมือนบอกค่าเริ่มต้นให้ while นี้ ที่ในตัวอย่างนะคะ ให้ตัวแปรชื่อว่า i ตัวแปร i โดยกำหนดค่าเริ่มต้นให้ i ที่ 1 สิ่งที่ while จะทำให้ดูที่เงื่อนไขนะคะ เงื่อนไขใน while เราระบุคำสั่ง while ปุ๊บ แล้วก็ตามด้วยตัวแปร i โดยเราบอกเงื่อนไขว่า while จะทำงานเมื่อ i เครื่องหมายอะไรคะ น้อยกว่าหรือเท่ากับ 10 ใช่ไหมคะ มันจะยังทำงานอยู่ ถ้าจำนวนนั้นยังไม่ถึง 10 นึกออกนะ นะคะ ทีนี้เราอยากรู้ได้อย่างไรว่า มันจะทำไปจนถึง 10 นี่เราใช้คำสั่ง print เพื่อให้มันแสดงใช่ไหมคะ แสดงผลของการวนรอบ แสดงผลอะไร แสดงผลของ i ที่เราสั่งมันไว้ไง แล้วตามด้วยn = คือ ตัวสุดท้ายน่ะ คือจำนวนเท่าไรนะคะ โดยเมื่อพอ print i รอบที่ 1 เสร็จให้มันมาทำการเพิ่มจำนวน เห็นไหมคะ โดยใช้ตัวดำเนินการทางคณิตศาสตร์ บอกว่าให้ตัวแปร i = i+1 ก็คือให้ขึ้นทุกรอบ ครั้งละ 1 นะคะ มันก็จะวน วนไปจนกว่าจะไม่เป็นจริง ก็คือ i > 10 ปุ๊บ มันจะหยุดนะคะ ลอง key คำสั่งนี้ดูอันดับแรกเหมือนเดิม เราก็ประกาศตัวแปรนะคะ ประกาศตัวแปรชื่อว่า i ของเราลงไปแล้วตามด้วยเครื่องหมายเท่ากับเหมือนเดิมนะคะเด็ก ๆ ตัวแปร i ของฉันนี่มีค่าเริ่มต้นที่ 1 นะ จากนั้นมาใช้คำสั่ง while เพื่อกำหนดเงื่อนไขให้มันทำการวนรอบหรือวนซ้ำนะคะ ใช้คำว่า while เด็ก ๆ ไม่อยากพิมพ์ผิดเห็นไหม แล้วมีคำว่า "while" ขึ้นมาก็คลิกที่คำนั้นได้เลย จะไดอ้พิมพ์ไม่ผิด เห็นไหมคะแล้วตามด้วยตัวแปรที่เราต้องการกำหนดเงื่อนไขก็คือ i น้อยกว่าหรือเท่ากับ 10 เหมือนกัน while กับ for นี่เมื่อใช้คำสั่งนี้ปุ๊บ ปิดคำสั่งด้วย : เสมอ อย่าลืมใส่เครื่องหมาย : ข้างหลังนะคะ แล้วมันจะ Tab ให้อัตโนมัติ สิ่งที่จะถัดจากคำสั่ง while ก็คือเราจะสั่งให้มันแสดงผลในการพิมพ์ตัวแปร i นั่นเองนะคะ ก็ใช้คำสั่ง print เหมือนเดิมก็คือ i โดยระบุให้มันว่า i นี้นะคะ เมื่อ end ปุ๊บ เมื่อจบมันนะ เมื่อจบ end นั่นแปลว่าจบ เห็นไหมคะ มันจะมีn = ขึ้นมาเลย โดยอัตโนมัตินะคะ เด็ก ๆ ดูนะคะ เดี๋ยวตอนอาจารย์แม่พิมพ์ end ปุ๊บนี่ e-n-d = มันจะขเด็ก ๆ คลิกเลือกได้เลย เพราะมันเป็น... เหมือนเป็นฟังก์ชันที่มีอยู่แล้ว เป็น Library อยู่แล้วของ Python นะคะ เราจะได้ไม่พิมพ์ผิด เสร็จแล้วก็ใส่เครื่องหมาย Single Quote ตามด้วยอะไรนะ คอมมาอยู่ข้างในนะคะ พอจบคำสั่ง print ก็คือพอ print เสร็จเราต้องการให้ตัวแปร i มันเพิ่มจำนวนไปเรื่อย ๆ ก็เลยกำหนดให้ตัวแปร i เท่ากับ i บวกทีละ 1 นะคะ อยากรู้ผลลัพธ์แล้วกด Run ได้เลยนะคะ คีย์ให้เสร็จก่อน อย่าลืมเช็กนะคะ เครื่องหมายโคลอนหลังคำสั่งจะต้องปิดด้วย : เสมอนะคะ while กับ for นี่พอมีตัวคำสั่งวนรอบนี่จะมีเครื่องหมายโคลอนมาปิด แต่ถ้าประกาศตัวแปรใช้คำสั่ง print ใช้คำสั่งดำเนินการทางคณิตศาสตร์ไ่ต้องมี colonกด Run ดู เห็นไหม คือถ้าเป็น for มันจะ Run ลงมานะ แต่พอเป็น while น่ะ Run ไปทางแนวนอนด้วย แล้วปิด ปิดท้ายตัวไอ้นี่ด้วย... ด้วย : เสมอด้วย เอ้ย Comma เสมอ แล้วถ้าสมมติไม่ใส่ไอ้นี่ล่ะ มันจะ Run อย่างไร เดี๋ยวทำให้ดูนะ ถ้าไม่ใส่... เห็นไหมคะ รูปแบบการแสดงผลจะเปลี่ยนไป ถ้าไม่ใส่ end = น่ะ มีความแตกต่างนะคะเด็ก ๆn end = นี่ บอกให้รู้ว่าพอจบ 1 ตัวปุ๊บนี่ สิ่งที่คุณจะต้องมส่เข้าไปก็คือ ตัวนี้ อย่างนี้นะคะ เห็นไหมคะ ตัวเลขมันจะจบ 1 ตัวก็ไล่ไปตามแนวนอนแทนจะต่างกัน ใช้ได้ทั้ง 2 แบบให้ดูเป็นตัวอย่างแล้วนะ นะ บอกแล้วนะ เวลาดู Error น่ะ พอผิดตรงไหนน่ะ มันจะมีไอ้เส้นแดง ๆ ขึ้นมาใช่ไหมลูก เดี๋ยวทดสอบให้ดูใหม่นะคะ ถ้าพิมพ์คำสั่งผิด หรือ หรืออะไรผิดก็แล้วแต่นะ สมมติ พิมพ์คำสั่งprint ผิดนี่นะคะ นี่เห็นไหม ผิดบรรทัดไหนปุ๊บ เส้นแดง ๆ มันจะไปหาที่บรรทัดนั่นน่ะเราก็ค่อย ๆ ไล่ไป คำสั่งอะไรผิดนะ หรือตรงนี้มันก็จะชี้ไปเลย บรรทัดไหนนะ จะมีบอกหมดนะคะ เพราะฉะนั้น แก้ง่ายอยู่นะลูก นี่ แล้วมันจะมีบอกด้วย ตรงคำว่าอะไรที่ผิด เห็นไหมคะ ตำแหน่งการดู Error เด็ก ๆ ดูดี ๆ นะ 1 นะ พอขึ้นผิด สังเกตที่ตัวดปรแกรมที่เราเขียน มันจะมีเส้นสีแแล้วสิ่งที่เราจะดูต่อมา ก็คือในนี้มันจะมีเลขบรรทัดอยู่แล้วมันจะชี้ไปที่เลขบรรทัดนะ บอกตำแหน่ง บอกตำแหน่งไม่พอ มันยังบอกด้วยวว่าไอ้คำไหนที่ผิด เห็นไหจะไล่แก้ง่ายมากเลยนะคะ ถ้าเป็นแต่ก่อนนี่เขียนโค้ดเอง ไม่มีไอ้พวกนี้มาช่วยนะ ต้องไล่ตั้งแต่บรรทัดแรก จนไปถึงบรรทัดสุดท้าย เพื่อไปหาว่าตัวเองไปเขียน Error ผิดตรงไหน นึกออกไหม เขียนโปรแกรมยุคใหม่นี่แบบง่ายมาก ก็คือมีบอกหมดไปทำแหน่งไหน ตรงคำไหนที่ผิด อย่างนี้นะคะ เพราะฉะนั้น เวลาดู Error ค่อย ๆ เช็กตามที่แม่บอก ดูตรงเส้นสีแดง ดูตำแหน่ง แล้วก็ดูข้อความที่มันบอกว่าข้อความไหนที่ผิด มันจะโยงไปหากันอัตโนมัติ ได้ while สำหรับการกำหนดเงื่อนไขที่ระบุว่า i ตัวแปร i จะแสดงตัวแปร i จะพิมพ์ตัวแปร i จนกระทั่งตัวแปร i ถึง 10 เห็นไหมคะ ถึง 10 ไหม มันจะต่างกับ for นะ for นี่ 1-6 ใช่ไหม 1-6 แต่มัน print แค่อะไร 1 2 3 4 5 ใช่ไหม print ถึงแค่ 5 เพราะมันนับ 1 เป็นตัวไอ้นี่ แต่ตัว i นี่เห็นไหมคะ 1-10 มันก็ไปเลย 1 2 3 4 5 6 7 8 9 ถึง 10 จริง ๆ มันจะต่างกัน เปลี่ยนกระเป๋า... ทีนี้เมื่อกี้เป็นแบบใช้ while แบบเ้ดี่ยทีนี้มาดู while กับข้อมูลที่เป็นแบบ for นะคะ ก็หลักการเดียวกัน ตัวแปรที่เราจะเก็บ อันนี้ตั้งชื่อว่า myList นะคะที่เป็นชุดคำสั่ง ยังเป็นชื่อเล่นเหมือนเดิม เก็บชื่อเล่น แล้วก็กำหนดชื่อตัวแปร i เพื่อสำหรับการวนรอบนะคะ เกิดอะไรขึ้นหายไปไหน ไอ้นี่ไม่ใช่ไฮไลท์หรือ ในนี้ไม่มีไฮท์ไลท์ เดี๋ยวไปใส่สีให้ นะคะ เห็นไหมคะ คือ เรากำหนดการวนรอบนี่ โดยให้ i เริ่มที่ 0 เขาาบอกว่าให้สอดคล้องกับ index ไอ้นี่ค่าเริ่มต้นมันไม่ได้เป็นตัวเลข เพราะปกติ คือ ปกติตัวโปรแกรมมันก็จะเริ่มที่ 0 นะ เสร็จแล้วกำหนดเงื่อนไขว่า while นะคะ ขณะที่ตัวแปร i น้อยกว่า range ก็คือ range นี่ใน MyList นะคะ ก็คือมันแปลออกมาว่ากำหนดเงื่อนไขให้ทำการแสดง i นี่นะคะ โดยจำนวนตัวใน myList นี่ สมมติมี 1 2 3 4 ตัว มี 4 ตัวนี่ มีทัะ้งหมด 4 ตัวนี่แล้วก็สั่งให้ print myList ในวงเล็บใหญ่ i นะคะ แล้วจะต้องทำการเพิ่มทีละ 1 เสมอนะคะ หลักการเดียวกันแต่เปลี่ยนแค่ตัวแปร มีตัวแปรเพิ่มเข้ามา เพื่อจะบอกให้รู้ว่าตัวแปรนี้เก็บข้อมูลที่เป็น list ประเภท List นั่นเองนะคะ อันดับแรกเด็ก ๆ จะต้องประกาศตัวแปรก่อน ตัวแปร myList ของเรานะคะ บรรทัดที่ 1 ค่ะ เริ่มประกาศตัวแปร ตัวแปรว่า myListในตัวอย่างมีทั้งตัวเล็กตัวใหญ่ เดี๋ยวให้ดูนะคะ มันต่างกันอย่างไร เพื่อให้รู้ว่ามันเป็นตัวแปรนี่ มันจะใส่ลักษณะพิเศษ จะได้รู้เพราะถ้าใช้คำว่า "l-i-s-t" list ตัวเล็กมันจะไอ้นี่นะ ก็เลยใช้ L-i-S-T LIST ตัวใหญ่นะคะ แล้วก้ประกาสตัวแปรชื่อ myListโดยกำหนดค่าชุดในนั้นน่ะ ใส่ข้อมูลชื่อเล่นของเด็ก ๆ ลงไป ในตัวอย่างใส่แค่ 4 ของเราใส่สัก 5 แล้วกันจะได้เห็นชัด ความจริงต้อง... ใช่ไหม เมื่อวานก็ว่าพิมพ์แม็กกี้นะ ทำไมเป็น มาร์คกี้ เปลี่ยนชื่อให้แม็กกี้เฉยเลย กุ้งนางก็เป็นกุ้งเต้น เปลี่ยนชื่อให้กุ้งนางเฉยเลยสงสัยถ้าจะเบลอเมื่อวาน ไหงเป็นกุ้งเต้นนะ กุ้งเต้นมาจากไหน กุ้งเต้นอยู่แล้วหรือ ถูกแล้วใช่ไหม อ๋อ โอเค แสดงว่า แสดงว่าเด็ก ๆ ชื่อ มาร์คกี้นะ ไม่ใช่แม็กกี้ โอเค อุบลนี่ก็ชื่อเล่นใช่ไหมชื่อเล่นอุบลเลย ทำไมชื่อเล่นนี้ล่ะ เกิดอยู่อุบลหรือ ไปเกิดอยู่นั่น อ๋อ แต่บ้านอยู่มุกดาหารแต่ชื่ออุบลแต่ก่อนหรืออย่างไร หรือแต่ก่อนอยู่อุบลฯ อ๋อ ไปเกิดที่นั่น โอเค อีกคนหนึ่งใคร ใครอยากมีชื่ออยู่ในนี้องุ่นแล้วกัน เอาองุ่นนะ ให้สาว ๆ เยอะหน่อย มีแต่สาว ๆ นะคะ ใน myList นี่ มีชื่อของมาร์คกี้ กุ้งเต้น มิ่ง อุบล แล้วก็องุ่น สิ่งที่เราจะทำต่อมา ก็คือกำหนดตัวแปรเพื่อจะให้วนรอบตัวแปรนั้น ตัวแปนั้นก็นะคะ ให้ i โดยให้มันวนรอบเริ่มจาก 0 เท่ากับ 0 ในตัวอย่างนี่ คำว่าเครื่้องหมาย shap หรือ เป็นคอมเมนต์นั่นเอง บอกให้รู้ว่า i กำหนดให้ i เป็น 0 ต้องไปสอดคล้องกับ index เพราะว่า index นี่ ก็คือในภาษาคอมพิวเตอร์นะ ก็คือดัชนีหรือตัวชี้ ตัวชี้ตำแหน่งนั่นเองนะคะ เพราะฉะนั้น โดยปกติค่าเริ่มต้นดัชนีของคอมพิวเตอร์ก็จะเริ่มที่ 0 นะคะ เมื่อประกาศตัวแปรให้สำหรับการวนรอบแล้วเราก็มาใช้คำสั่งในการวนรอบ ก็คือ while w-h-i-l-e บอกแล้วนะ เด็ก ๆ ถ้าไม่อยากพิมพ์ผิด สังเกตเมื่อเราพิมพ์ทุกครั้งนี่ มันจะมีเหมืิอน เห็นไหมคะ เหมือนคำสั่ง เหมือนโค้ดอะไรขึ้นมาอย่างนี้ เด็ก ๆ ก็คลิกเลือกใช้ได้เลย while แล้วก็ตามด้วยตัวแปรที่เราประกาศไป i น้อยกว่า rang เป็นคำสั่งนะคะ ที่บอกว่า คือที่มันนับน่ะค่ะ นับตัวข้อมูลที่อยู่ในชุดข้อมูลนั่นเองนะคะ ก็คือคำสั่ง range น้อยกว่า range ไหนล่ะ Coding ตัวเอง l-e ปุ๊บวรรคด้วยนะคะ e l-e-nเห็นไหม มันจะมีตัวคำสั่งขึ้นมาเลย พิมพ์ติ๊กลงไป แล้วก็ใส่เครื่องหมาย สิ่งที่อยู่ใน range สิ่งที่อยู่ใน myList นั่นเองตัวแปร myList สังเกตพอพิมพ์ปุ๊บชื่อตัวแปรมันก็จะขึ้นมา เด็ก ๆ จะได้ไม่พิมพ์ชื่อตัวแปรผิด สังเกตที่อะไร เมื่อเรสร้าง ปุ๊บนี่ พอครั้งต่อไปมันจะขึ้นชื่อตัวแปรที่เราสร้างมาให้มันจะไม่ผิดนะคะ และอย่าลืมทุกครั้งปิดคำสั่ง while หรือ for หรือ if จะต้องปิดด้วยดคลอนเสมอนะคะแล้วก็ใช้คำสั่ง print เพื่อจะแสดงข้อมูลใน myList ของเรานั่นเองนะคะ คลิกเลือกจะได้ไม่พิมพ์ผิด ดูวิธีนะคะ สังเกตพอเราพิมพ์คำว่า "My" ปุ๊บ ดูดี ๆ นะคะเด็ก ๆ พิมพ์ my ปุ๊บนี่ เห็นไหมคะ myList มันจะขึเนมา เราคลิกเพื่อเลือกมันจะไม่เกิดปัญหาพิมพ์ผิดน่ะค่ะ แล้วใส่วงเล็บเพื่อบอกให้รู้ว่านี่จะพิมพ์ไอ้สิ่งที่อยู่ใน myList นี่ ที่ตัวแปร i มันไปนับไว้นี่นะคะ ก็คือสี่เหลี่ยมใหญ่ แล้วก็ตามด้วยตัวแปรที่ชื่อว่า i แล้วหลังจากพิมพ์ไปแล้วนี่ ให้ทำอะไร ก็คือเมื่อวนรอบ ปึ๊บ พอ ใน myList ออกมารอบที่ 1 ก็ให้ไปทำการเพื่มจำนวนนะคะ ให้กับจำนวนรอบ โดยกำหนดให้ i มีค่า = i+1 ก็คือพอ print เสร็จ คุณก็ไปเพิ่มจำนวนรอบให้ i 0 ก็เพิ่มไปทีละ 1 เพิ่มไปเรื่อย ๆ แล้วมันจะ print จนกว่าจะครบอยู่ใน list ของเรา ก็คือ 1 2 3 4 5 ทำจนครบ 5 อันนะคะ อยากรู้ผลแล้วกด play ดูได้เลยนะคะ หลังจากที่เราพิมพ์เสร็จเห็นไหมคะ print จนครบเลย มาร์คกี้ กุ้งเต้น มิ่ง อุบล องุ่น ก็จะวนรอบไปแล้วก็ print ออกมาทีละ 1 ทีละ 1 บรรทัดไปเรื่อย ๆนี่คือการใช้ while นะคะ การใช้ while นะคะ จะมีตัวแปรเพื่อระบุค่าเริ่มต้นของการวนรอบเสมอ แต่ถ้าใช้ for นี่ไม่ต้อง เพราะ for มีจำนวนรอบที่แน่นอนอยู่แล้วนะคะ ก็ไม่ต้องไประบุค่าตัวนี้ ไม่มีต้องมาบอกก่อน มันต้องเริ่มที่อะไร เสร็จเมื่อไรอะไรแบบนี้นะคะเดี๋ยวอีก 2 คำสั่งนะคะ เราก็จะเสร็จสิ้น ในการ Codeding ขอของวันนี้นะคะ ก่อนอื่นเรามาดูคำสั่ง 2 ตัวนี้ก่อนนะคะ คำสั่ง break กับคำสั่ง continue เดี๋ยวนะ ขอขยายเป็นแบบนี้ ไปหน้าไหนนี่ มาหน้าใหม่แล้วนี่ ดูนะคะ คำสั่ง 2 ตัวนี้มันยังเกี่ยวข้องกับการวนรอบอยู่ ให้นึกถึงว่าบางครั้งถ้าวนไปเยอะ ๆ อาจจะ... ถ้าเราต้องการ break มันล่ะ break จำนวนรอบหรือให้ทำอะไร ทำไปเรื่อย ๆ หรือข้ามไปคำสั่งอื่นล่ะ ไม่อยากให้ทำคำสั่งมันแล้วล่ะมันอยู่ที่ 2 คำสั่งนี้เลย break กับ continue ต่างกันอย่างไร break ชื่อก็บอกอยู่แล้วชื่อคำสั่งนี่บอกอยู่แล้ว ว่าหยุดใช่ไหม เหมือนเราเหยียบเบรก ปุ๊บ นั่นคือรถจะต้องหยุดนะคะ ก็คือให้ loop มันหยุดการทำงานนะคะ โอเคนะคะเมื่อกี้ คำสั่งใหม่ของเรา พี่ล่ามได้ยินไหมคะ ไม่ได้ยิน นั่นไงนิ่งสนิท (เจ้าหน้าที่) พี่ล่ามได้ยินไหมคะ พี่ได้ยินไหมคะพี่ พี่ได้ยินไหมคะ ทางฝั่งนี้ก็ไม่ได้ยินเสียงพี่เหมือนกันค่ะ (อาจารย์สุธิรา) มันเหลือ 2 คำสั่งสุดท้ายแล้วนี่ พี่ล่ามได้ยินไหมคะ พี่ล่ามได้ยินไหมคะ แสดงว่าถอดความได้ยินอยู่นะ เราเหลืออีก 2 คำสั่งนะคะ คำสั่งนี้ไม่ได้มีอะไรพิสดารจะให้เห็นเฉย ๆว่ามันเอาไว้ใช้เพื่อทำอะไรนะคะ พี่ปุ๋ย มาล่ามขับตาทับก่อน เราจะได้จบนะ2 คำสั่งสุดท้ายนะคะ ก็คือ break กับ continue ชื่อมันก็แปลตามตัวก็คือหยุดน่ะ break ก็คือหยุดน่ะ ให้นึกถึงเหมือนเราขับรถไปแล้วเราต้องการหยุด เราก็ต้องเหยียบเบรกหรือกำเบรกใช่ไหม ส่วน continue continue ก็คือให้มันไปต่อ แต่ในที่นี้จะหมายถึงการข้าม ข้าม loop ที่เราทำอยู่ ไปทำคำสั่งอื่นเลยนะคะ เดี๋ยวมาดูตัวอย่างการใช้งาน continue กับ break นะคะ ให้ดูเปรียบเทียบทั้ง 2 อันเลย พี่ล่ามได้ยินแล้วใช่ไหมได้ยินแล้ว ได้ยินแล้ว เมื่อกี้ไม่ได้ยิน อ๋อ ดูจากไอ้นั่นใช่ไหม ถอดความ ไม่เป็นไรค่ะ หลักการง่าย ๆ นะคะ เราจะใช้ break เมื่ออะไร ในตัวอย่างนะ เมื่อทุกครั้งเราใช้คำสั่ง for น่ะ มันจะไม่มี if มีอะไรเข้ามา แต่พอเราจะใช้ break นี่มันจะมีเงื่อนไขโผล่ขึ้นมาปุ๊บแล้วมาปิดด้วยคำสั่ง break นะคะ นั่นหมายถึงว่าถ้าโดยปกติถ้าเราพิมพ์ for i ใน len 1-10 นั่นหมายถึงมันจะพิมพ์เลข 1 ไปจนถึงเลข 9 หยุดใช่ไหม loop นี้ loop ของ for นี่มีค่าที่แน่นอน เพราะฉะนั้น ตัวเลขที่จะขึ้น ก็คือ 1-9 แต่ให้เด็ก ๆ มาดูที่ break ขึ้น เมื่อ if i = 5 นั่นหมายถึงเมื่อมันพิมพ์ i ไปถึง5 1 ไปถึง 5 ปุ๊บ มันจะหยุดการทำงานเลยนึกออกนะ มันจะไม่ไปต่อนึกออกนะ แต่ถ้าดูตามเฉพาะ เด็ก ๆ อย่าพึ่งไปด฿บรรทัดที่เหนือไปจาก if นะ อย่าเพิ่งไปดูบรรทัดที่ 3 บรรทัดล่าง ให้นึกถึงว่าเราใช้คำสั่ง for นี่นะ แล้วสั่ง print สิ่งที่มันออกมาก็คือเลขที่เริ่มตั้งแต่1 แล้วค่าสุดท้าย 10 1 แล้วก็นับต่อไปจนถึง 10 1, 2, 3, 4, 5, 6, 7,8 ,9 9 มันจะถึงที่ 9 นะ ถ้าตามหลักของ for นี่นะคะ มันจะต้อง print เลข 1-9 แต่ทีนี้มี break มา โดย break มันจะทำงาน เมื่อเงื่อนไข if เราบอกว่าถ้า i นะคะเท่ากับ 5 นั่นหมายถึงว่าเมื่อ i เริ่มที่ 1 ไปจนถึงเลข 5 ปุ๊บมันจะหยุดการทำงานมันจะไม่ไปต่อ ลองนะคะ ลองโดยการทำอย่างนี้ เปิด Colab ของเราขึ้นมาเราจะเปิดโปรแกรมเรานะคะ โอเค โอเค ให้เด็ก ๆ เปิดโปรแกรม Colab ขึ้นมาพร้อมด้วยเดี๋ยวกดสิ้นสุดการนำเสนอก่อนนะคะ ทำไมไม่สลับหน้าวันนี้ ล่ามได้ จอไม่ได้เอาเข้าไป ให้มันได้แบบนี้สิเรียบร้อย โรงเรียนจอยอีกแล้ว เอาเข้าไป นั่น จอไม่ได้ ล่ามได้จอไม่ได้ โอ้ย เมื่อเช้าก็ปลุกปล้ำกับจอไปทีหนึ่งแล้ว ไม่ได้ยิน ไม่เป็็นไรมาบอกให้รู้ ก็คือใช้เงื่อนไข if เข้ามาแทรกนะคะ พิมพ์ if แล้วตามด้วยตัวแปร i ของเรา ถ้า i นะคะ มันจะให้มันเบรกเมื่อ i ถึง 5 นั่นเองนะคะ เสร็จแล้วบอกแล้วถ้ามีคำสั่งประเภท if for ให้เด็ก ๆ ใส่เครื่องหมายโคลอนปิดท้ายเสมอนะคะ ให้ทำอะไรต่อ ก็คือให้มัน break เห็นไหมคะ สั่งให้มัน break ทันที เห็นไหมคะ รูปแบบนี่ คำสั่งหลักนี่ เหมือนเดิมก็คือมี For กับ printมาใส่ break เข้ามานี่ เพิ่ม break กับ if เข้ามานี่ ก็คือเพราะพอสั่ง print รอบที่ 1 มันจะไปหา for อีก 1 แล้ว 2 3 4 แต่นี่พอมีเงื่อนไขมาว่าถ้า i มันถึงเลข 5 ปุ๊บ มันจะหยุด ดูผลลัพธ์นะคะ เปรียบเทียบระหว่างตัวนี้กับตัวนี้ เห็นไหม พอ break พอถึง 5 ปุ๊บมันก็จะหยุด print ไง มันก็จะไม่ print กับตัวแรกเห็นไหมคะ 1-10 ตัวที่ 10 มันก็จะไม่ print มันจะ print ถึงแค่เลข 9 เพราะมันเช็กแล้วว่าถึง 10 แล้วจริง ๆมันก็จะหยุด มันก็เลยจะไม่ print ตัวที่ 10 ออกมา เช่นเดียวกับเมื่อ i ไปถึง 5 สิ่งที่มัน print ไปถึงแค่ 4 ไง พอมันไปเช็กมันเจอ 5 มันก็หยุด print เข้าใจนะ เข้าใจความหมายของคำสั่งนี้นะคะ คำสั่ง break เพราะอะไร เพราะรอบที่ 1 มันพิมพ์ 1 ใช่ไหมคะ พอรอบที่ 2 มันก็จะพิมพ์ 2 ขึ้นมา พอรอบที่ 3 พิมพื 3 รอบที่ 4 พิมพ์ 4พอมันไปถึงเลข 5 ปุ๊บ มันต้อง break break คือ หยุด เพราะฉะนั้น มันก็จะไม่พิมพ์เลข 5 ออกมาในตัวอย่าง ความแตกต่างกันของตัวที่เห็นไหม อธิบายก่อน ตัวแรกหลักการของ for i นั่นก็คือ print ตามจำนวนรอบที่แน่นอน คือ ถ้าเราสั่ง i พิมพ์ตั้งแต่ 1 ไปถึง 10 นี่ มันจะหมายความว่าจากเลข 1 เจอเลข 2 print 3 print 4 print 5 print 6 print 7 print 8 print ไปจนถึง 9 ครั้งที่ 10 มันครบ นึกออกไหม1-10 ใช่ไหมคะ ก็คือมันไม่ต้อง print แล้ว มันครบ 10 รอบแล้ว นึกออกนะ เช่นเดียวกัน เมื่อพอเรามา break มันเมื่อมันเจอ 5 นั่นหมายถึงพอครั้งที่ 1 มัน print ไป 1 ยังเจอ 1 อยู่นะ พอครั้งที่ 2 มาเจอ 2 ยัง print อยู่ ครั้งที่ 3 มาเจอ 3 ยังไม่ถึง 5 4 ยัง print อยู่ เพราะยังไม่ถึง 5 แต่พอวนไปอีกรอบหนึ่งเจอ 5 ปุ๊บ มัน break เลขที่ได้ไม่ print ออกมา เลขที่ได้ คือ 1-4 เท่านั้นเห็นไหมคะ นะคะ นี่คือ break ใช้ break เพื่อคั่น เมื่อถึงรอบเท่านี้แล้ว break ไปทำอย่างอื่นก็ใช้ break อย่างนี้นะคะ อันนี้ในกรณีที่เป็น for แล้วในกรณีที่เป็น while ล่ะ ดูที่ while นะเด็ก ๆ ประกาศตัวแปร int int i เท่ากับ 0 i-n-t นี่มาจาก integer นะคะ ก็คือบอกให้รู้ว่ามาจากตัวเลขนี้ เป็นตัวเลข มีค่าเริ่มต้นที่ 0เสร็จแล้วกำหนดเงื่อนไขใน while ให้มันวนรอบ โดยที่ i<10 ก็คือ i จะวนไปจนกว่าจะถึง 10 นั่นเองจะทำงานเพราะบอกแล้วคำสั่ง whileคำสั่ง while while คือการวนรอบเมื่อเงื่อนไขเป็นจริง เพราะฉะนั้น เมื่อ i น้อยกว่า 10 while มันจะวนไปเรื่อย ๆ ก็ต้องพิมพ์ i ให้ i นี่เพิ่มขึ้น ++ นี่หมายถึงเพิ่มขึ้นทีละ 1 นะคะ ต่างจาก while ไหม ไม่ต่างนะคะ แล้วก็มามีเงื่อนไขต่อว่าถ้า เดี๋ยว ๆ เดี๋ยวให้ดูตัวอย่างของ while ที่ยังไม่ใส่ break เข้าไปก่อน เอาแค่นี้ก่อนนะ ให้ถึงแค่เรากำหนดค่าให้ integer i เริ่มที่ 0 เสร็จแล้วให้มันวนรอบ เมื่อใดที่ i น้อยกว่า 10 นี่มันยังวนรอบต่อไป แล้วให้มันเพิ่มค่า i print a เฉยเลยมั่วแล้ว จริง ๆ ต้อง print i นะคะเด็ก ๆ เพราะเราบอกแล้ว ตัวแปรที่เราใช้ คือ i ขอโทษที เดี๋ยวตัวนี้จะให้ดูความแตกต่างเหมือนตัว for เหมือนกันนะคะ เขียนโค้ด 2 ครั้ง โค้ดครั้งที่ 1 ก็คือโค้ดแรกกำหนดตัวแปร integer integer i = กำหนดตัวแปร ชนิดตัวเลขสำหรับ i ที่มีค่าเริ่มต้นที่ 0 นะคะ จากนั้นใส่การวนรอบโดยใช้คำสั่ง while w*-h-i-while นะคะ while ในวงเล็บค่ะ ตามด้วยเครื่องหมายวงเล็บ เพื่อจะบอกว่า i นี่นะคะ มันจะทำงานเมื่อให้วนรอบจนกว่า i นี่นะคะ ถ้า i ยังน้อยกว่า 10 นะคะ ปิดเครื่องหมาย ปิดคำสั่ง while ด้วยเครื่องหมายโคลอนเสมอเสร็จแล้ว พอวนไป 1 รอบ i มันจะต้องเพิ่ม แต่เดิมเราใช้ i = i + 1 นะ แต่ถ้ารอบนี้อาจารย์แม่ใช้ i เพิ่มโดยใช้ i++ นั่นหมายถึง i มันบวกขึ้นไปทุกรอบนะคะ ปิดด้วย ; เสร็จแล้วอยากรู้ว่าผลลัพธ์ในการเพิ่มรอบมันเป็นอย่างไร ใช้คำสั่ง print print i ออกมาดูด้วยนะคะ แล้วลองกด playอันนี้ให้ดู sintac Error ใส่ทำไมนี่ ไปใส่ int ทำไมนี่แสดงว่าตอนเขียนโค้ดนี่มึนหัวเต็มที่แล้วนะคะ ไม่ต้องใส่ intiger นะ ตัวแปรนะ แล้วก็ระบุ พอใส่ = น่ะ มันก็รู้อยู่แล้วว่า ถ้าใส่เลข 0 เข้าไป มันก็คือตัวเลขนะ ถ้าเป็นคำพูดมันจะต้องใส่เครื่องหมายคำพูด เมาหมัดตัวเองอย่างแรง รอบนี้ Error น่าจะไม่ขึ้นแล้วนะSyntax Error นั่นไง นี่หรือเปล่า i++ไปเอา Syntax ไหนมา i = i + 1 แสดงว่าพิมพ์ผิดใช่ไหมMemory Error ใช้ตัวเดิมเรา ก็คือ i+1 นะในการให้มันวนรอบ นะคะ โอเคถูกต้อง นี่แบบ while นะ while น้อยกว่า 10 หมายถึง 10 นี่ก็ยังอยู่ในเกณฑ์มัน มันถึง print 1-10 ออกมา อันนี้ แล้วทีนี้ถ้า break เอา break มาคั่นนะคะ ดูนะคะ จะเอา break มาคั่นแล้วนะ ลจะคั่นด้วย break ที่ตำแหน่ง เมื่อพอมันบวกไปทีละ 1 แล้วนะคะ เราไปใส่เงื่อนไข ถ้า if i นะคะเท่ากับ เท่ากับ 5 ก็คือเมื่อใดที่ i ไปจนมันถึง 5 มันจะต้องตัวอย่างนี้ทำไมคีย์ข้อมูลผิดนะนี่ หรือลืมแก้โค้ด ไม่ต้องใส่วงเล็บนะคะ เพราะใน if if ไม่ต้อง ถ้าในวงเล็บ if i = 5 ใส่โคลอนปิด break แล้วก็ print i โอเค if i = 5 print i โอเค run แล้วนะลืม ลืมอะไร ลืมคำสั่งไปตัวหนึ่ง ลืมคำสั่ง break นะคะ มาคั่น เห็นไหมคะ ต่าง... ผลลัพธ์ได้เหมือนกัน เพราะได้เหมือน for นะคะ เพราะตอนที่เพิ่มไปจนถึงถ้า i = 5 นี่มันจะหยุด เพราะฉะนั้น ครั้งที่ 1 เริ่ม 1 2 3 4 ยัง print อยู่ พอไปเจอ 5 ปุ๊บมันต่างกับที่น้อยกว่า 10 เพราะฉะนั้น สิ่งที่มากกว่า 10 ก็คือ 11 ยังถือว่าน้อยกว่า 10 ไง ยังอยู่ในเกณฑ์ ไม่เกิน 11 ว่าไงครับนะคะ หลักการวนไม่มีอะไรพิสดารหรอก ตำแหน่งเฉย ๆ นะคะ ผลลัพธ์ที่ได้ในการ break เหมือนกับ for เลย เห็นไหมคะ print แค่ 4 พอไปเจอ 5 ปุ๊บ หยุด print เด็ก ๆ ดูนะคะสังเกตที่คำสั่ง บอกแล้วมันมีโครงสร้าง เมื่อเสร็จตัวคำสั่งที่มันมี : นี่ เด็ก ๆ ไปคลิก คลิกเคอร์เซอร์ไปวางบรรทัดใหม่ ตำแหน่งของ iมันจะมาชิดนี่ พอเวลา Run มันจะขึ้น Error เพราะฉะนั้น เมื่อเสร็จหลักการพิมพ์คำสั่ง ทุกบรรทัด ก็คือจบคำสั่ง 1 บรรทัด กด Enter พและอจบ 1 บรรทัดปุ๊บถ้ามันเป็นคำสั่งประเภท while มันจะ Tab นึกออกนะ พิกด Enter ปุ๊บมันจะ Tab ตำแหน่งมันจะ Tab ไปให้อัตโนมัตินะคะ แล้วมันจำทำให้โครงสร้างของตัว Coding เราไม่ผิด Error มันจะไม่ขึ้น เพราะฉะนั้น จำไว้ได้เลยว่าพอพิมพ์คำสั่งเสร็จ 1 บรรทัด ใช้วิธีกด Enter อย่าไปใช้ คลิก Curser บรรทัดใหม่กด Enter ลงไปเลยนะคะ กด Enter เคาะ Enter ลง เพราะพอมันไปเจอคำสั่งเป็นประเภท while ปุ๊บนะคะ หรือเจอ if นี่ พอกด Enter นี่ มันจะเคาะ Tab เข้าไปให้อัตโนมัติ ตำแหน่งที่มันอยู่จะเป็นโครงสร้างโปรแกรมมันสร้างไว้แล้ว ถ้าเป็นสมัยก่อนนี่ พอกด Enter เสร็จ ต้องมากด Tab เพื่อให้มันเลื่อนนึกออกนะ แต่แบบใหม่นี่มันทำให้เลย จัดเซตมาให้เลย พอกด Tab ปุ๊บ มันจะ Tab ให้อัตโนมัติ พอเสร็จ 1 คำสั่ง เด็ก ๆ จำไว้เลยต้องกด Enter เสมอนะคะ จะได้ไม่เกิดปัญหาโครงสร้างผิดอีกนะคะ นี่คือวิธีแก้ ปัญหาที่เมื่อพิมพ์ไปแล้วโครงสร้างมันจะยัง Error นะคะ คำที่มันขึ้นมาผิด เดี๋ยวให้ดู ส้วนใหญ่จะเป็นคำนี้เดี๋ยวจะลองเลื่อนตัว i นี่ ให้มันมาตรงกับตำแหน่งของ while Error มันจะขึ้นอย่างไรเดี๋ยวจะทำให้ดู ถ้าเมื่อใดขึ้น Identation Error นะคะ เห็นไหมคextenblock ก็คือที่มันจะบล็อกนี่นะคะ 1 บล็อก มันจะอยู่ตรง คือถ้าคำสั่งแรกนี่ ไม่มี Block จบ ขึ้นบรรทัดใหม่บล็อกของมันก็คือมันจะต้อง Tab เข้าไป วิธีการแก้ ก็คือเรากด Delete ให้มันย้อนขึ้นไปอย่างนี้ก็ได้ แล้วกด Enter เห็นไหม มันก็จะจัด Block ของ i นี่ ให้กับ while คำสั่ง while เพราะ i คำสั่งนี้เป็นคำสั่งย่อยใน while นั่นเองนะคะ มันก็จะจัด Block ให้ถึงจะถูก ถ้าขึ้นอย่างนี้ปุ๊บนี่ ให้เด็ก ๆ ดูบรรทัดนั้น ตำแหน่ง ถ้าคิดว่าตัวเองแก้ไม่ถูกนะคะ บอกแล้ววิธีแก้ ก็คือกดให้มันขึ้นไปต่อกับเครื่องหมาย : แล้วกด Enter ลง เห็นไหม บล็อกมันก้จะเคลื่อนให้เป็นบล็อก ๆ ไปก็จะแก้ได้ แล้วพอกด Run ดู เห็นไหม ก็ไม่ขึ้น Error นะคะ นั่นก็คือ Error ที่จะเกิดขึ้นเวลาโครงสร้างไม่ถูก มันจะขึ้นIndented Block เลย วิธีแก้ ก็คือไปที่บรรทัดคำสั่งนั้นแล้วเอามันย้อนกลับขึ้นไปต่อท้ายก่อนหน้าแล้วกด Enter ลงมาโอเคนะคะ หลักการเดียวกัน เมื่อกี้ break แล้ว คำสั่งสุดท้ายของวันนี้ ก็คือ continue นะคะ continue นี่ใช้เพื่อให้มันข้าม เขาบอกว่าข้ามขั้นตอน ก็คือพอมาเจอ continue ปุ๊บมันจะข้ามไปคำสั่งใหม่นะคะ ข้ามการกระทำ ก็คือมันยัง print ต่อน่ะเด็ก ๆ ไม่ต้อง print ก็ได้ อันนี้ไม่มีอะไรพิสดาร เดี๋ยวจะให้ดูตัวอย่างเดิมก็ได้นะคะ จะเอานี่นะ ที่เราเปลี่ยนจาก... จะเปลี่ยนจาก break เป็น continue ดูเงื่อนไข for i in range เปลี่ยนตรงนี้นิดหนึ่ง ไม่เป็นไร เปลี่ยนจาก break เป็น continue ให้ดูไม่ต้องทำ เพื่อจะอธิบายความหมายนี้นะคะ จะกด Copy แล้วนะคะ แล้วก็เพิ่ม Code ดูนะคะ ที่จะเปลี่ยนมีแค่นี้จริง ๆ เปลี่ยนจาก break เปลี่ยนเป็นคำสั่ง concontinue นะคะ c-o-n คำสั่งขึ้นมาแล้ว playให้ดูเลยนะคะเด็ก ๆ ดูตัวอย่างนะคะ ในตัวอย่างนี่ คำสั่ง for ในครั้งแรกที่จะ break ก็คือเมื่อ i = 5 มันจะ break เราจะเปลี่ยนจาก break เป็น continue ก็คือเงื่อนไขเดียวกันเลย จาก 5 ดูผลลัพธ์ให้ดูผลลัพธ์ เห็นไหม นั่นหมายถึงพอถึง 5 ก็ทำต่อไปเรื่อย ๆ เพราะอะไร เพราะพอ i in range มันเริ่มที่ 1 ไปจนถึง 10 continue นั่นก็คือเมื่อเช็กเงื่อนไขว่ามันตรง มันก็จะข้าม แล้วก็ไปทำต่อ 1, 2, 3, 4 แต่มันไม่มีอะไร เด็ก ๆ ดูเลขอะไรที่มันหายไป 5 ใช่ไหมลูก ใช่ไหมคะ เพราะถ้าเรา Run ตัวแรก ดูตัวอย่างเทียบกันกับข้างบนนะ เห็นไหม for in range นมัน Run 1 2 3 4 มี 5 ด้วยใช่ไหมคะ แต่พอเราใช้ continue นี่ ค่า i = 5 continue ก็คือข้าม เลข 5 ไม่มีเห็นไหม 4 แล้วไป 6 ไป print 6 เลย นึกออกไหม มันจะไม่ pirnt 5 ออกมา เพราะเมื่อมันเช็กแล้วเงื่อไนขมันตรงกับที่ตรวจสอบใช่ไหมคะ พอไปเจอเลข 5 มันจะไม่ print มันจะกระโดดข้ามไปมันก็เลยมา print 6 7 8 แทนเห็นไหมคะ ข้ามเลข 5 น่ะ ตามหลักการวนรอบของ for i ใช่ไหมคะ 1 ถึง... เริ่มที่ 1 ไปถึง 9พอถึง 10 ก็ไม่ print มันจะมี 5 อยู่แต่พอใช้ continue มันมีเงื่อนไขว่า i = 5 พอมันไปเจอเลข 5 ปุ๊บ มันต้องกระโดดข้ามไปทำตัวต่อไปก็คือ 6 7 8 เห็นไหม 5 หายไป นี่คือ continue เมื่อต้องการให้ข้ามสิ่งไหนนะคะ ใช้หลักการนี้นะคะ while ก้เหมือนกัน ก็หลักการเดียวกเพราะฉะนั้น แค่เปลี่ยนจาก break เป็น continue เท่านั้นเองนะคะ ไอ้ตำแหน่งของการข้ามก็จะเปลี่ยนไปนะ เพระฉะนั้น หลักของ break ก็คือหยุด หยุดเมื่อไปเจอ หรือเมื่อเงื่อนไขเป็นจริง แต่ continue นี่จะข้ามเมื่อไปเจอเงื่อนไขนั้นว่าเลขที่เจอคือเลข 5 มันก็จะไม่ print เลข 5 ออกมา นึกออกไหม มันก็ข้ามไปเลยตรงนี้มัน print ใช่ไหม ในตัวอย่างที่เราทำครั้งแรกนี่ ไปไหนแล้วล่ะ ที่เราทำครั้งแรกนะ ไอ้ for i range พอ break นี่ 5 print ถึง 4 แต่พอเปลี่ยนจาก break เป็น continue อยู่ไหนล่ะ continue เราหายไปไหcontinue เราหายไปไหน เห็นไหมคะ พอเปลี่ยนเงื่อนไขจากถ้าเจอ 5 แล้ว ถ้าใช้ continue นี่เลข 5 ไป มันจะไม่ print เลข 5 ออกมา เห็นไหม คือ เงื่อนไขใน for มันจะทำจนกว่าเงื่อนไขจะเป็นจริงใช่ไหมคะ แต่พอมาเจอ continue นี่ พอเจอเงื่อนไขที่เป็นจริงมันจะข้ามมันก็เลยไม่ print เลข 5 ออกมาเห็นไหมคะ มันจะไป print เลข 6 7 8 9 หลักการของ continue ก็็คือจะข้ามสิ่งที่เงื่อนไขนั้นไปเจอนะคะ ก็จะข้ามไป ก็จะไม่ print เลขนั้นออกมานะคะ while ก็ใช้หลักการเดียวกันนะคะ ก็เปลี่ยนจาก break เป็น continue ก็ใช้หลักการเดียวกันนะคะ เพราะฉะนั้น ผลลัพธ์ก็จะออกมาเหมือนกันนั่นล่ะ ก็จะไม่มีเลข 5 ปรากฎขึ้นมา ถ้าเราใช้ while while continue นะคะ เดี๋ยวให้ดูนะคะ ดูที่ while นะเด็ก ๆ ใช้หลักการเดียวกันเลย เดี๋ยวจะก๊อป (ปี้)อันนี้ให้ดูนะคะ เพราะไม่ได้มีอะไรพิสดารเลย เปลี่ยนจาก break เป็น continue แค่นั้นเองแล้วก็เดี๋ยว Play ให้ดู เห็นไหมคะ เลขจะไม่มีเหมือนกัน จะข้ามจะกระโดดข้ามเลข 5 ไปเลย เห็นไหม ก็จะไปเริ่มที่ 6 7 8 9 10 แทน ถ้าใช้คำสั่ง continue เข้ามา ก็คือมันจะข้ามตัวนี ข้ามเงื่อนไขที่เจอนี่ไปถ้ามันเป็นจริงนี่ไปนะคะ สำหรับสัปดาห์นี้นะคะ เราก็ขอจบการสอนเพียงเท่านี้นะคะ กับเรื่องของการวน วนซ้ำหรือ loop นั่นเองรู้ทั้งวิธีการดู Error นะคะ การแก้โค้ดอะไรเรียบร้อยแล้ว หวังว่าจะจำไปใช้ในการเขียนโปรแกรมต่อไปนะคะเด็ก ๆ สำหรับสัปดาห์นี้พอแค่นี้ค่ะ สวัสดีค่ะ ขอบคุณพี่ล่ามด้วยนะคะ สวัสดีค่ะ ไปกินข้าวได้ หิวแล้วใช่ไหม หิวหรือยัง หิวหรือยัง ลืม ลืมออกจาก Googleให้เรียบร้อยนะคะ