(อาจารย์สุธิรา) สวัสดีค่ะ โอเคนะคะ สำหรับสัปดาห์นี้นะคะ เราจะมาเรียนต่อในหัวข้อที่เหลืออีก 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 นั้นน่ะ โดยเงื่อนไขใน loop นั้นมันเป็นจริงอยู่ จะหยุดทำเมื่อมันไปเจอเงื่อนไขที่ไม่ตรง ไม่ตรงตามที่กำหนดปุ๊บ มันจะหยุดทำงานเลยนะคะ ทีนี้เดี๋ยวมาดูตัวอย่าง ตัวอย่างแรก for เนื่องจากคอมพิวเตอร์นี่ เวลาเราจะให้แสดงผลนะคะ ใน for นี่ โดยใช้ for นี่ บอกแล้วว่ามีจำนวนรอบที่ชัดเจน หรือมีข้อมูลที่ชัดเจน เช่น for loop ตัวแรกนี่ เพื่อการแสดง หรือวนซ้ำที่เป็นลักษณะข้อมูลที่เป็นตัวอักษร บอกแล้วนะคะ ข้อมูลที่เป็นอักษรหรือข้อความ ดูง่าย ๆ ก็จะมีเครื่องหมายคำพูด Single Quoat หรือ Double Quoat นะคะ ทีนี้ในตัวอย่างนี่ เรามีตัวแปรชื่อว่า name โดยกำหนดค่าให้ name ชื่อนี้ค่าเริ่มต้นอยู่ที่คำว่า "สุธิรา" นะคะ เสร็จแล้วมาใช้ for คำสั่ง for เพื่อมีตัวแปรขึ้นมา 1 ตัว เพื่อจะมาทำการเป็นเหมือนจำนวนรอบนะคะ for in for n ใช้ว่า n n มันก็ย่ามาจากเหมือน name นี่ล่ะ ให้รู้ว่า n นี่นะคะ ถ้า n ใน name เห็นไหมคะ for in name สำหรับ n ที่อยู่ใน name นะคะ ก็คือต้องการให้คุณวนไอ้ตัวนี้ ไอ้สิ่งที่อยู่ใน name นี่ วิธีการ ก็คือให้ print n ให้เห็น มันจะวนอย่างไร อันดับแรก เราเห็นตัวอย่างแล้วนะ ทีนี้เราก็ต้องลองโค้ดดู เด็ก ๆ จะต้องเปิดโปรแกรม Colab จำได้นะคะ ที่เป็นออนไลน์ ในสัปดาห์ก่อนน่ะ เปิด Web Browser ขึ้นมาลูก เดี๋ยวนะ สลับเลย เปิด Web browser แล้วนะ เปิด Web browser แล้วพิมพ์ Colab Colab นี่ ที่เป็นโปรแกรมเขียนโค้ดออนไลน์น่ะค่ะ เขียนโค้ด 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 ปิดตัวคำสั่งด้วยเครื่องหมาย Colon เสมอะนคะเด็ก ๆ สังเกตเห็นไหมใน colab นี่ สีของตัวแปรมันจะเป็นสีดำเห็นไหมคะ อะไรเป็นตัวแปรมันจะเป็นสีดำ เห็นไหม บอกให้รู้นะคะ จากนั้นสั่ง loop แล้ว สิ่งที่ต้องการต่อมา ก็คือให้มันแสดง สั่งให้มันวน loop แต่เราจะรู้ได้อย่างไรว่า loop วนหรือไม่ เราก็ต้องสั่งให้มันแสดงในการแสดงผล เห็นไหมคะ เมื่อเราพิมพ์คำสั่ง for พอกด Enter ปุ๊บ สังเกตตำแหน่งมันจะขยับเข้ามามันจะไม่อยู่ชิดนะคะ คำสั่ง print นั่นเอง p-r-i-n-t print แล้วก็พิมพ์เครื่องหมายวงเล็บ เห็นไหมคะ สิ่งที่เราต้องการให้แสดงใน print นะคะ ก็คือตัวแปรที่ชื่อว่า n นะคะ เพราะว่าใน for นี้สั่ง สั่งให้ n ทำงาน เพราะฉะนั้น เราต้องใช้ให้แสดงตัวแปรที่ชื่อว่า n จำได้หรือเปล่า วิธี Run Code ในตัวโปรแกรมนี้ ก็คือกดที่ปุ่มที่เป็นรูปเหมือน Play นี่ เห็นไหมคะ กด 1 ครั้ง มันก็จะหมุน ๆ ๆ เพื่อให้มันแสดงผล นี่เน็ตช้านะนี่ เห็นไหม สิ่งที่จะแสดงออกมา เห็นไหมคะ n ใน name ใน name มีอะไร มีคำว่า "สุธิรา" ส เสือ สระอุ ธิ-ร-า ถ้าเด็ก ๆ ใส่ชื่อตัวเอง สิ่งที่มันแสดงออกมามันก็จะเป็นชื่อของเด็ก ๆ นะคะ เข้าใจนะ บอกแล้วว่า for นี้นะคะ มันใช้ในกรณีที่ให้วนรอบที่มีจำนวนมที่แน่นอน เพราะเหมือนชื่อนี่ ก็คือชื่อมันโดนระบุว่ามีตัวอักษรแค่ 1 2 3 4 5 6 นึกออกไหม มันก็จะทำไปจนกว่าจะแสดงชื่อของเราน่ะค่ะ จนครบ นึกออกนะ เพราะฉะนั้น ถ้าสมมติเด็ก ๆ ลองเปลี่ยนนะคะ ใส่ทั้งชื่อและนามสกุลตัวเองเข้าไปดู ใน Colab นี่ พิมพ์ภาษาไทยได้อยู่แล้วนะคะ เด็ก ๆ เปลี่ยนรูปแบบนะ ฟอนต์เป็นไทย เป็นอังกฤษ ลองดูนะคะ เดี๋ยวลองให้ดูใหม่อีกรอบหนึ่งนะคะ เมื่อกี้เฉพาะชื่อใช่ไหมคะ เราจะลองทั้งชื่อ ทั้งภาษาอังกฤษนะ เราก็กดที่โค้ดอีก 1 ครั้ง ขี้เกียจพิมพ์แล้วนะ วิธีการ Copy ดูดี ๆ นะคะ ทำ Tab กดเมาส์ค้าง แล้วลากเมาส์ขึ้นไปให้มันเกิด 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 เห็นไหม ตามตัวเลยก็ได้ เพราะบอกแล้ว วิธีการตั้งชื่อตัวแปรนี่ ก็พยายามให้มันใกล้เคียงกับความหมายที่มันเป็นภาษาไทยของเรานั่นเองนะคะ สังเกตว่าข้อมูลที่มันเป็นเบอร์โทร.นี่ มันเป็นเลขก็จริง แต่ความเป็นจริง มันคือเป็นตัวเลขหรือข้อความ หรือตัวอักษรเราดี ๆ นั่นเองนะคะ เราก็เลยต้องให้มันแสดงอยู่ในรูปของข้อความ ก็คือใส่เครื่องหมายคำพูด 080639793539 อย่างนี้นะคะ เสร็จแล้วก็ใช้คำสั่ง for เหมือนเดิม for โดยที่... โดยที่กำหนดให้ตัวแปร t นะคะ ตัวแปรชื่อว่า t นี่ เข้าไปวนรอบอยู่ใน phone ของเรา ตัวแปร p ไหม วนรอบอยู่ใน phone ของเรานะคะ เสร็จแล้ว เราก็ให้มันแสดงไอ้เจ้าตัวแปร p นั้น ให้เห็น พอสั่ง print ปุ๊บนะคะ ก็จะprint เบอร์โทร.ออกมาทีละตัว ทีละตัว อย่างนี้นะคะ อันนี้คือใช้ for นะคะ ในกรณีที่ loop เพื่อให้แสดงข้อความนะคะ ทีนี้เมื่อมีข้อความแล้ว แล้วในกรณีที่เป็นตัวเลขน่ะ เห็นไหมคะ ลืม ลืม for แบบตัวเลขใช่ไหมนี่ อยู่อันล่าง เดี๋ยว ๆ ตอนนี้เป็นข้อความอยู่นะคะ แต่เป็นข้อความแบบเป็นชุด มาเป็นชุดเลยนะคะ for loop to list หมายถึงอะไร เดี๋ยวขยายก่อน อธิบายก่อน ทำไมหน้าจอมันโดนเปลี่ยนไปแบบนี้ ตั้งค่าจอไม่ Balance บ่ มันล้นน่ะ เซ็ตจอใหม่นะคะ สำหรับlist นี่ มันหมายถึงข้อมูลนะคะ นี่ที่อยู่ในวงเล็บที่เป็นสี่เหลี่ยมน่ะ นะคะ ก็คือเป็นข้อมูลที่มาเป็นชุดเลย เช่น ประกาศตัวแปรชื่อว่า nickname nickname หมายถึงชื่อเล่นนั่นเอง แปลเป็น ภาษาไทยออกมา เพราะฉะนั้น ในชุด ก็คือถ้าบอกมาเป็น list เราจะต้องมีวงเล็บสี่เหลี่ยมนี่ขึ้นมาคลุม แล้วก็ตามด้วยข้อมูลชนิด nickname ก็คือชื่อเล่น ชื่อเล่นก็ใช้ตัวอักษรใช่ไหมคะ มีองุ่น มีมีเอ็กซ์ตร้า แบบนี้นะคะ แล้วใช้คำสั่ง for เพื่อที่จะแสดงข้อมูลที่เป็น list ต่างกันอย่างไรกับเมื่อกี้ที่เป็นตัวอักษรนะคะ เดี๋ยวเราจะลองเขียนโค้ดตัวนี้ดู เปิด colab เลย เปิด colab แล้วทำไปพร้อมกันนะคะ เหมือนเดิมนะคะ เพิ่มโค้ดใหม่ เราจะเขียนโค้ดใหม่แล้วนะคะ เราจะแสดงผลที่เป็น list นะคะ เด็ก ๆ ไปทีละบรรทัด ดูที่บรรทัดแรก เอาใหม่ ๆ ๆ ย่อแล้วขยายหน้าจอกันอยู่นี่ล่ะ โอเคไหม หมดไหมเข้าไปเยอะไป เดี๋ยวนะ เดี๋ยว ๆ ขอจัดให้เด็ก ๆ จะได้เห็นได้หมดนะ เราจะได้เห็นทั้ง 2 ฝั่งนะคะ เห็นทั้ง 2 จอ โอเคไหม ตำแหน่งแรกนะคะ ประกาศตัวแปรชื่อว่า nickname นะคะ แล้วกำหนดค่าในตัวแปร nickname เป็นแบบ list ก็คือใส่วงเล็บสี่เหลี่ยมใหญ่เข้าไปเด็ก ๆ เห็นไหม เห็นไหมคะ ใน Colab พอกดสี่เหลี่ยมเปิดมันจะมีปิดตามมาทันที ในนี้เราก็ใส่ชื่อเล่นลงไปนะคะ เสร็จ 1 ชื่อ ขั้นด้วยคอมมาใช่ไหม เสมอนะคะ ชื่อเล่นคนแรก ถ้าตัวเองอยากเอาชื่อตัวเองใส่เข้าไป จากองุ่นก็เป็นกุ้งนางนะ หรือบาสขึ้นก่อน เอ็กซ์ตร้าขึ้นก่อน แล้วแต่นะคะ พอหมด 1 ชื่อ ชื่อใหม่จะต้องคั่นด้วยเครื่องหมายColon อย่างนี้... ไม่ใช่สิ คอมมาสินะ ชักสับสนแล้ว โคลอน คอมมา คั่นด้วยคอมม่านะคะ เสร็จข้อมูลชื่อเล่นชุดที่ 1 จะขึ้นชุดใหม่ต้องใส่คอมมาเข้าไป แล้วก็ตามด้วยเครื่องหมาย Single Quote หรือ Double 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 ผลให้ดูนะคะ เด็ก ๆ ดูการใช้ for แบบที่ไม่เป็นชุดข้อมูลตัวแรกนะ จากตัวอย่างข้างบนกับตัวนี้ เดี๋ยวจะเปรียบเทียบให้ดูว่ามันต่างกันอย่างไร เห็นไหม ถ้าเป็น list มันจะมาเป็นคำ ๆ เลย เป็นชื่อเลย เห็นไหมคะ ต่างกันนะ ใช่ไหม แบบที่ 1 น่ะ เรามาแบบเป็น String มันจะไล่เป็นตัวอักษรทีละตัวอักษรนะ แต่แบบที่ 2 เราน่ะ ชนิดของตัวแปรเรานี่ มันเป็น list เวลาสั่ง print มันก็จะออกมาเป็นชุด ๆ นึกออกนะ ข้อมูลมันก็จะเป็นชุดชื่อเล่นเลย องุ่น บาส เอ็กซ์ตร้า มิ่ง แล้วก็ตี๋น้อยนะคะ นี่คือลักษณะของข้อมูลที่เป็น list จำง่าย ๆ เลย ก็คือใส่ปีกกาใหญ่เข้าไปนี่ คุมเข้าไปนี่ จะได้ข้อมูลที่เป็นชุดแบบนี้ออกมาเลยนะคะ บางทีนะคะ เวลาเขียนโค้ดแล้วผิดนะคะ เช่น นี่ เดี๋ยว ๆ ๆ ๆ เดี๋ยวทำให้ดูนะคะ เมื่อกี้ โปรแกรมมันจะแจ้ง Error เสมอ เดี๋ยว Run ให้ดูนะ ปุ๊บ นี่ถ้ามันขึ้นคำว่า name error เช็กง่าย ๆ เลย ก็คือให้ไปดูที่อะไร ตำแหน่งของตัวแปรนะคะ ใช่ไหม name ก็คือชื่อของตัวแปรนั่นเอง นี่เห็นไหม ให้ดูที่ตัวแดง ๆ ตัวนี้ บอกว่า name Error เห็นไหมคะ name nicknum มาจากไหนชื่อว่า nickname เห็นไหมคะ ตำแหน่งมันจะบอกชัดเจนเลยนะคะ ชื่อมันจะบอกชัดเจนว่าผิดตรงไหนนะคะ is not defind นี่ หมายถึง คุณไม่ได้มี คุณไม่ได้ประกาศ เราไม่รู้จักนะคะ มันจะบอก แล้วอะไร สังเกตตรงนี้มันก็จะขึ้นเส้นหยัก ๆ สีแดง ๆ ในบรรทัดที่เกิด Error น่ะ มันจะมีไอ้ตัวนี้ขึ้นมาเลย เห็นไหม ให้รู้ตำแหน่งว่าผิดตรงนี้นะคะ เพราะฉะนั้น เวลาบอกแล้ว ตัวแปรตั้งชื่อ ต้องเช็กด้วยว่าใส่ถูกไหม เวลาจะเรียกใช้มันด้วยนะคะ Run ใหม่ แก้แล้วอย่างนี้นะคะ พอแก้ปุ๊บ แก้แล้วก็จะได้ผลลัพธ์ออกมาเป็นแบบนี้นะคะ นี่คือในกรณีที่เป็น loop แบบ list นะ เมื่อกี้เป็นชุดข้อมูลที่เป็นข้อความ อยากให้ลองมาดูตัวต่อมาค่ะ ชุดข้อมูลที่เป็นตัวเลข เห็นไหมคะ อาจารย์แม่เลยประกาศตัวแปรชื่อว่า number นะ number ก็คือจำนวนหรือตัวเลขนั่นเองนะคะ แล้วให้ตัวแปรชนิดนี้เป็นข้อมูลชุดนะคะ ก็เลยใส่เครื่องหมายวงเล็บ วงเล็บสี่เหลี่ยมใหญ่เข้าไป ประกอบด้วย เลข 5, 10, 15 สังเกตถ้าข้อมูลแบบตัวเลข ไม่ต้องใส่เครื่องหมายคำพูด เห็นไหมคะ ไม่ต้องใส่ Single quote หรือ Double quote เราพิมพ์ตัวเลขลงไปได้เลย แล้วคั่นด้วยตัวเลขแต่ละชุดด้วยคอมมา คอมมานะคะ ถ้ามี 3 ก็ใส่แค่... 2 ตัวสุดท้ายไม่ต้องใส่ ทีนี้ลองดูนะคะ แบบที่เป็นตัวเลข เหมือนเดิมนะคะ ให้เด็ก ๆ เขียนโค้ดนะคะ แล้วก็ประกาศตัวแปรชื่อว่า number 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 ที่อยู่ในnumbers n-u-m-b-e-r อย่าลืมนะคะ ตัวแปรที่เราประกาศมี s ด้วยก็ต้องใส่ s numbers นะคะ แล้วก็ปิดด้วยคำสั่ง for ด้วย ทุกครั้งเมื่อจบคำสั่ง for ต้องปิดด้วยเครื่องหมายโคลอนเสมอนะคะ แล้วใช้คำสั่ง print ในการแสดงผล print อะไร print สิ่งที่ หรือ print ตัวแปรที่อยู่หลัง for ก็คือตัวแปรที่ชื่อว่า n นั่นเองนะคะ เห็นไหม เห็นไหมคะ เป็นชุดนี่มา มาตามชุดมันเลย ถ้ามีชุดจะมีความแตกต่างกันนะคะ ระหว่างเป็นชุดกับไม่เป็นชุด สังเกตนะคะ ถ้าเราประกาศตัวแปรไปแล้ว แล้วเวลาเราจะเรียกใช้ เด็ก ๆ ดูตรงนี้นะ n ปุ๊บ นี่ n-u-m นี่ ให้เราเลือกตัวที่มันขึ้น เห็นไหม ตรง... มันเป็สิ่งที่ประกาศไปแล้ว รับรองว่าจะพิมพ์ไม่ผิดนะคะ จะไม่เกิดปัญหาร 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 มันทำงานนั่นเองนะคะ เราลอง Coding ดูนะคะเด็ก ๆ ไม่มีประกาศตัวแปรเลย เพราะบอกแล้วว่า range เป็นตัวเลขที่เป็นชุดอยู่แล้ว ก็คือมันจะใช้สำหรับ for ที่ใช้สำหรับวนรอบตัวเลขที่เป็นชุดที่ต้องการให้ทำนะคะ เพราะถ้าคิดว่า 6 มันน้อย ดูนะคะ คอมพิวเตอร์มันสามารถ Run ได้สูงสุดเท่าไร เด็ก ๆ อยากรู้ไหม ใช้คำสั่ง for นะคะ สำหรับตัวแปรที่ชื่อว่า a โดยใน a นั้นนะคะ มี range มีพารามิเตอร์ของตัวเลข r-a-n เห็นไหมคะ ในนี้มันก็จะขึ้นมาเลย คำสั่ง range ไม่อยากพิมพ์ผิดก็คลิกได้เลย เห็นไหม r-a-n-g-e นะคะ แล้วก็ใส่เครื่องหมายวงเล็บ ค่าเริ่มต้นเริ่มที่ อยากเริ่มที่ 100 เปลี่ยนจาก 1 1 มันน้อย เดี๋ยวจะว่าไม่เจ๋งจริง ดูคอมพิวเตอร์ประมวลผล 100 ถึง... เอาเท่าไรดี เอาหลักเท่าไรดี จะทะลุเดือดไปไหม 100-200 นี่ ก็เยอะแล้วนะ เดี๋ยวให้ดู ว่ามันจะทะลุเดือดกันขนาดไหน 200 นี่ พอมัน Run ออกมาแล้วมันจะเป็นอย่างไร อย่าลืมนะคะ ปิดคำสั่ง for อย่าลืมใส่โคลอนเสมอ ไม่อย่างนั้นพอกด Enter มันจะไม่ Tab ให้ เพื่อทำงานในคำสั่งต่อไป สิ่งที่เราต้องการ print ก็คือสิ่งที่อยู่... ตัวแปรที่อยู่ท้าย for ก็คือตัวแปร a ดูนะเด็ก ๆ 100-200 เห็นหรือเปล่า เยอะนะคะ มันนับเลยนะ 100, 101, 102 เห็นไหม เราทำเอง เราจะทันไหม เด็ก ๆ จะสงสัย เอ๊ะ ทำไมตัวสุดท้ายมันแค่ 199 อย่าลืมนะคะ ค่าเริ่มต้นเริ่มที่ 100 ค่าสุดท้ายนี่ คือ ค่าของจำนวนที่มันจะ... เขาเรียกว่าอะไรล่ะ ที่ให้มันวนน่ะ นึกออกไหม มันเริ่มนับที่ 100 เป็นรอบที่ 1 เพราะฉะนั้น พอไปถึง 199 มันคือรอบที่ 200 นะคะ ทีนี้ใส่เยอะเดี๋ยวไม่ชัวร์ เดี๋ยวไม่มันใจว่าครบ 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 ตัวแปร i ที่เราสั่งมันไว้ไง แล้วตามด้วยend = คือ ตัวสุดท้ายน่ะ คือ จำนวนเท่าไรนะคะ โดย โดยเมื่อพอ print i รอบที่ 1 เสร็จ ให้มันมาทำการเพิ่มจำนวน เห็นไหมคะ โดยใช้ตัวดำเนินการทางคณิตศาสตร์ บอกว่าให้ตัวแปร i = i+1 ก็คือให้ต้องให้ค่าของ i มันเพิ่มขึ้นทุกรอบ ครั้งละ 1 นะคะ มันก็จะวน วนไปจนกว่าจะไม่เป็นจริง ก็คือ i > 10 ปุ๊บ มันจะหยุด print นะคะ ลอง key คำสั่งนี้ดู อันดับแรกเหมือนเดิม เราก็ประกาศตัวแปรนะคะ ประกาศตัวแปรชื่อว่า i ของเราลงไป แล้วตามด้วยเครื่องหมายเท่ากับเหมือนเดิมนะคะเด็ก ๆ ก็คือตัวแปร i ของฉันนี่ มีค่าเริ่มต้นที่ 1 นะ จากนั้นมาใช้คำสั่ง while เพื่อกำหนดเงื่อนไขให้มันทำการวนรอบหรือวนซ้ำนะคะ ใช้คำว่า while เด็ก ๆ ไม่อยากพิมพ์ผิด เห็นไหม พอเราพิมพ์ w-h แล้วมีคำว่า "while" ขึ้นมา ก็คลิกที่คำนั้นได้เลย จะไดอ้พิมพ์ไม่ผิด เห็นไหมคะ แล้วตามด้วยตัวแปรที่เราต้องการกำหนดเงื่อนไข ก็คือ i น้อยกว่าหรือเท่ากับ 10 เหมือนกัน while กับ for นี่ เมื่อใช้คำสั่งนี้ปุ๊บ ปิดคำสั่งด้วยโคลอนเสมอ อย่าลืมใส่เครื่องหมายโคลอนข้างหลังนะคะ แล้วมันจะ Tab ให้อัตโนมัติ สิ่งที่จะถัดจากคำสั่ง while ก็คือเราจะสั่งให้มันแสดงผลในการพิมพ์ตัวแปร i นั่นเองนะคะ ก็ใช้คำสั่ง print เหมือนเดิม สิ่งที่เราจะพิมพ์ ก็คือ i โดยระบุให้มันว่า i นี้นะคะ เมื่อ end ปุ๊บ เมื่อจบมันนะ เมื่อจบ e-n-d นั่นแปลว่าจบ เห็นไหมคะ มันจะมีend = ขึ้นมาเลย โดยอัตโนมัตินะคะ เด็ก ๆ ดูนะคะ เดี๋ยวตอนอาจารย์แม่พิมพ์ end ปุ๊บนี่ e-n-d = มันจะขึ้นมาอย่างนี้ เด็ก ๆ คลิกเลือกได้เลย เพราะมันเป็น... เหมือนเป็นฟังก์ชันที่มีอยู่แล้ว เป็น Library อยู่แล้วของ Python นะคะ เราจะได้ไม่พิมพ์ผิด เสร็จแล้วก็ใส่เครื่องหมาย Single Quote ตามด้วยอะไรนะ คอมมาอยู่ข้างในนะคะ พอจบคำสั่ง print ก็คือพอ print เสร็จ เราต้องการให้ตัวแปร i น่ะ มันเพิ่มจำนวนไปเรื่อย ๆ ก็เลยกำหนดให้ตัวแปร i = i บวกทีละ 1 นะคะ อยากรู้ผลลัพธ์แล้ว กด Run ได้เลยนะคะ คีย์ให้เสร็จก่อน อย่าลืมเช็กนะคะ เครื่องหมายโคลอนหลังคำสั่ง while จะต้องปิดด้วย : เสมอนะคะ while กับ for นี่ พอมีตัวคำสั่งวนรอบนี่ จะมีเครื่องหมายโคลอนมาปิด แต่ถ้าประกาศตัวแปร ใช้คำสั่ง print ใช้คำสั่งดำเนินการทางคณิตศาสตร์ ไม่ต้องมีโคลอย กด Run ดู เห็นไหม คือ ถ้าเป็น for มันจะ Run ลงมานะ แต่พอเป็น while น่ะ Run ไปตามแนวนอนด้วย แล้วปิด ปิดท้ายตัวไอ้นี่ด้วย... ด้วยโคลอนเสมอด้วย Comma เสมอ แล้วถ้าสมมติไม่ใส่ไอ้นี่ล่ะ มันจะ Run อย่างไร เดี๋ยวทำให้ดูนะ ถ้าไม่ใส่ end = เห็นไหมคะ รูปแบบการแสดงผลจะเปลี่ยนไป ถ้าไม่ใส่ไอ้คำว่า "end = " น่ะ มีความแตกต่างนะคะเด็ก ๆ 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 ถึง 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 ในตัวอย่างนี่ คำว่าเครื่่องหมาย sharp หรือ Hashtag เป็นคอมเมนต์นั่นเอง บอกให้รู้ว่า i กำหนดให้ i เป็น 0 ต้องไปสอดคล้องกับ index เพราะว่า index นี่ ก็คือในภาษาคอมพิวเตอร์นะ ก็คือดัชนีหรือตัวชี้ ตัวชี้ตำแหน่งนั่นเองนะคะ เพราะฉะนั้น โดยปกติค่าเริ่มต้นดัชนีของคอมพิวเตอร์ก็จะเริ่มที่ 0 นะคะ เมื่อประกาศตัวแปรให้สำหรับการวนรอบแล้ว เราก็มาใช้คำสั่งในการวนรอบ ก็คือ while w-h-i-l-e บอกแล้วนะ เด็ก ๆ ถ้าไม่อยากพิมพ์ผิด สังเกตเมื่อเราพิมพ์ทุกครั้งนี่ มันจะมีเหมืิอน เห็นไหมคะ เหมือนคำสั่ง เหมือนโค้ดอะไรขึ้นมาอย่างนี้ เด็ก ๆ ก็คลิกเลือกใช้ได้เลย while แล้วก็ตามด้วยตัวแปรที่เราประกาศไป i น้อยกว่า range rage เป็นคำสั่งนะคะ ที่บอกว่า คือที่มันนับน่ะค่ะ นับตัวข้อมูลที่อยู่ในชุดข้อมูลนั่นเองนะคะ ก็คือคำสั่ง range น้อยกว่า range ไหนล่ะ Coding ตัวเอง l-e ปุ๊บ วรรคด้วยนะคะ e l-e-n เห็นไหม มันจะมีตัวคำสั่งขึ้นมาเลย พิมพ์ติ๊กลงไป แล้วก็ใส่เครื่องหมาย สิ่งที่อยู่ใน range สิ่งที่อยู่ใน myList นั่นเอง ตัวแปร myList สังเกตพอพิมพ์ปุ๊บ ชื่อตัวแปรมันก็จะขึ้นมา เด็ก ๆ จะได้ไม่พิมพ์ชื่อตัวแปรผิด สังเกตที่อะไร เมื่อเราสร้างปุ๊บนี่ พอครั้งต่อไป มันจะขึ้นชื่อตัวแปรที่เราสร้างมาให้ มันจะไม่ผิดนะคะ และอย่าลืมทุกครั้งปิดคำสั่ง while หรือ for หรือ if จะต้องปิดด้วยโคลอนเสมอนะคะ แล้วก็ใช้คำสั่ง print เพื่อจะแสดงข้อมูลใน myList ของเรานั่นเองนะคะ คลิกเลือกจะได้ไม่พิมพ์ผิด ดูวิธีนะคะ สังเกตพอเราพิมพ์คำว่า "My" ปุ๊บ ดูดี ๆ นะคะ เด็ก ๆ พิมพ์ my ปุ๊บนี่ เห็นไหมคะ myList มันจะขึ้นมา เราคลิกเพื่อเลือก มันจะไม่เกิดปัญหาพิมพ์ผิดน่ะค่ะ แล้วใส่วงเล็บเพื่อบอกให้รู้ว่านี่ จะพิมพ์ไอ้สิ่งที่อยู่ใน myList นี่ ที่ตัวแปร i มันไปนับไว้นี่ นะคะ ก็คือสี่เหลี่ยมใหญ่ แล้วก็ตามด้วยตัวแปรที่ชื่อว่า i แล้วหลังจากพิมพ์ไปแล้วนี่ ให้ทำอะไร ก็คือเมื่อวนรอบ ปุ๊บ พอ print ตัวใน 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 มีจำนวนรอบที่แน่นอนอยู่แล้วนะคะ ก็ไม่ต้องไประบุค่าตัวนี้ แต่ while ไม่มี ต้องมาบอกก่อน มันต้องเริ่มที่อะไร เสร็จเมื่อไร อะไรแบบนี้นะคะ เดี๋ยวอีก 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 นะคะ มันจะให้มัน break เมื่อ 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 integer 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 อันนี้ให้ดู sintax Error ใส่ทำไมนี่ ไปใส่ integer ทำไมนี่แสดงว่าตอนเขียนโค้ดนี่ มึนหัวเต็มที่แล้วนะคะ ไม่ต้องใส่ integer นะ ตัวแปรนะ แล้วก็ระบุ พอใส่ = น่ะ มันก็รู้อยู่แล้วว่า ถ้าใส่เลข 0 เข้าไป มันก็คือตัวเลขนะ ถ้าเป็นคำพูดเข้าไป มันจะต้องใส่เครื่องหมายคำพูด เมาหมัดตัวเองอย่างแรง รอบนี้ Error น่าจะไม่ขึ้นแล้วนะ Syntax Error นั่นไง นี่หรือเปล่า i++ ไปเอา Syntax ไหนมา i = i + 1 แสดงว่าพิมพ์ผิดใช่ไหม Memory Error ใช้ตัวเดิมเรา ก็คือ i = 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 ว่าไงครับ ผิดตรงไหน Error ตรงไหน นะคะ หลักการวนไม่มีอะไรพิสดารหรอก เพียงแต่ต้องเช็กตำแหน่งเฉย ๆ นะคะ ผลลัพธ์ที่ได้ในการ 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 นะคะ เห็นไหมคะ block ก็คือที่มันจะบล็อกนี่นะคะ 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 เปลี่ยนเป็นคำสั่ง continue นะคะ 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 จะไม่มีเหมือนกัน จะข้ามจะกระโดดข้ามเลข 5 ไปเลย เห็นไหม ก็จะไปเริ่มที่ 6 7 8 9 10 แทน ถ้าใช้คำสั่ง continue เข้ามา ก็คือมันจะข้ามตัวนี ข้ามเงื่อนไขที่เจอนี่ไปถ้ามันเป็นจริงนี่ไปนะคะ สำหรับสัปดาห์นี้นะคะ เราก็ขอจบการสอนเพียงเท่านี้นะคะ กับเรื่องของการวน วนซ้ำหรือ loop นั่นเอง รู้ทั้งวิธีการดู Error นะคะ การแก้โค้ดอะไรเรียบร้อยแล้ว หวังว่าจะจำไปใช้ในการเขียนโปรแกรมต่อไปนะคะ เด็ก ๆ สำหรับสัปดาห์นี้พอแค่นี้ค่ะ สวัสดีค่ะ ขอบคุณพี่ล่ามด้วยนะคะ สวัสดีค่ะ ไปกินข้าวได้ หิวแล้วใช่ไหม หิวหรือยัง หิวหรือยัง ลืม ลืมออกจาก Google โอเค เสร็จแล้วปิดให้เรียบร้อยนะคะ [สิ้นสุดการถอดความ]