วนลูปนั้นเอง ซึ่งใน Python นะคะ จะมีอยู่ 2 คำ มีอยู่ 2 คำสั่งนะคะ ก็คือคำสั่ง Why กับคำสั่ง For นะคะ เราจะดูที่ตัวแรกก่อน wWhile คำสั่ง whilelจะทำซ้ำเมื่อนะคะ เมื่อเงื่อนไขนี่ เงื่อนไขของ Loop นั้นยังเป็นจริง เงื่อนไขของลูปนั้นยังเป็นจริงเป็นอย่างไร เดี๋ยวเรามาดูกันนะคะ เดี๋ยวมีรูปแบบให้ดู ส่วนคำสั่งที่ 2 for คำสั่ง for นะคะ จะทำงาน คำสั่งนี้จะทำงานโดย มีการระบุจำนวนรอบที่แน่นอนคือระบุเลยว่าจะให้ทำกี่รอบ หรือระบุว่าต้องทำกี่รอบนั่นคือ for และส่วนใหญ่ถ้าใช้ for นี่ มันจะใช้สำหรับการอ่านค่า ให้ทำอยู่ภายใน Opjectlist เดี๋ยวให้ดูรูปแบบนะคะ ก็คือ for ถ้าใช้คำสั่ง for นี่ จะใช้ได้ 2 รูปแบบ ก็คือใช้คือกัาบ และใช้คู่กับฟังก์ชั่นที่ชื่อว่า lange ตัวแรกเลยเรามาดูที่คำสั่ง while ก่อน ถ้าเราใช้คำสั่ง whild บอกแล้วว่าใน Python ถ้าส่วนใหญ่จะพิมพ์ด้วยตัวเล็กเสมอ คำสั่ง while จะพิมพ์ด้วย while นะคะ while นะคะนะคะ แล้วตามด้วยเงื่อนไขที่เราจะกำหนดให้มันทำนะคะ ซึ่งจะปิดด้วยเครื่องหมายโคลอนนะ ลืมไม่ได้ ถ้ามี while แล้ว ตามด้วยเงื่อนไขแล้วด้วยโคลอน ประโยคถัดมาหรือคำสั่งถัดมานะคะ ก็คือต่อไปก็จะเป็นรูปคำสั่ง ก็เป็นคำสั่งถัดไป ทีนี้ให้ดูที่ตัวอย่าง ตัวอย่างบอกว่าเราต้องการให้แสดงตัวเลข 1-10 นะคะ โดย โดยมันจะต้องเพิ่มจำนวนตัวเลขนี่ขึ้นทีละ 1 ตัว 1 ค่า ไม่ใช่ 1 ตัว ในตัวอย่างนี้ประกาศตัวแปรชื่อว่า "NumQ \โดยการกำหนดค่าให้ ค่าเริ่มต้นของ num เริ่มที่ 1 เพราะอะไร เพราะว่าต้องการให้แสดงจำนวนหนึ่งนะคะ เริ่มที่ 1 ก็เลยต้องมากำหนดค่าเริ่มต้นตัววแปร เท่ากับ 1 นะคะ เมื่อประกาศตัวแปรเสร็จ เราก็มาใช้คำสั่ง while ขอโทษ ๆ พอพิมพ์... โปรแกรมมัน มันปรับตัวอักษรตัวใหญ่นะ ลืมดู y ตัวเล็กนะคะ w ตัวเล็ก w-h-i-l-e ที่เราประกาศ ก็คือ Num มากกว่า หรือเท่ากับ 10 ก็คือให้ ให้ค่านี้ทำงานไปจนกว่าจะถึงเท่าไรคะ 10 ใช่ไหม ถึงจะหยุดทำงาน เพราะฉะนั้นจะทำให้เห็นว่าตัวเลขนี้มันจะแสดง 1-10 ไหม 10 ไหม ก็คือใช้คำสั่ง print เพื่อให้มันแสดงผล ใช่ไหมคะ แสดงผลของอะไร แสดงผลของตัวแปรที่เราประกาศไปนี่ เพราะฉะนั้น print num ทีนี้บางทีทำไม print รอบนี้มี n เท่ากับมาด้วย ก็คือเมื่อใดที่ใช้คำสั่ง print แล้วมีค่าที่เราต้องการให้แสดง แล้วมี n มาเมื่อไหร่ หมายถึงว่า เราต้องการจะ ก็คือข้อมูลที่เราจะแสดงเสร็จ แล้วเราต้องการจะให้มันแสดงอะไรล่ะ ข้อความหรือตัวอักษรอะไรต่อท้ายข้อความนั้น หรือข้อมูลตัวนี้ เพราะฉะนั้น ตัวนี้ n เท่ากับเครื่องหมาย Single Quote หรือดับเบิ้ลโคด ฟันหนูอันเดียวกับฟันหนู 2 อัน ถ้าต้องการให้แสดงข้อความไหน ใช้เครื่องหมาย Single Code เห็นไหมคะ Single ก็คือตัวเดียวใช่ไหม ขีด 1 ขีด ดับเบิ้ลก็คือ 2 ขีด อันนี้คือต้องการจะให้มันแสดงตัวเลขเรียงไป 1 2 3 4 ถึง 10 นึกออกนะ แต่ถ้าใช้คำสั่ง print แล้วไม่ระบุ n โดยปกติก็คือพอ Print เสร็จ มันจะไปขึ้นบรรทัดใหม่ นึกออกไหม มันก็จะ1 2 3 เรียงลงไปจนครบ นึกออกนะคะ แต่ทีนี้ต้องการให้มันเรียงตามแนว ภายใน 1 บรรทัดให้ได้ 10 ตัวไม่อยากให้ตัวเลขมันติดกันก็คั่นด้วยเครื่องหมาย Comma ไม่ใช่ Comma เซมิโคลอนแทน ไม่ใช่ คอมมาร์ ถูกแล้วสับสนอยู่เรื่อยเลย เวลาแปลไทยก็จะเรียกยาก ไอ้ลูกน้ำนี่ล่ะ คั่นด้วยลูกน้ำ เดี๋ยวจะให้ดูผลการรันโปรแกรมนี้ แต่ทีนี้มั้นจะทำได้ก็ต่อเมื่อ ๆ เราจะต้องเพิ่มจำนวนให้ด้วย เพราะฉะนั้นเมื่อ Print เสร็จ 1 ครั้งมันจะวน วนลงมาใช่ไหม ตามคำสั่งพอเจอ while ครั้งที่ 1 ปุ๊บ print เสร็จ มันจะต้องเอาตัวแปรนำ ก็คือให้ Num +1 เพิ่ม เพิ่มจาก เพราะครั้งแรกเข้ามา คือ 1 ใช่ไหมคะ print ครั้งแรกมันจะได้ตัวเลขตัวหนึ่งล่ะ แน่นอนล่ะ เราจะให้มันไปถึง 10 มันก็ต้องให้มันไปเพิ่มค่าให้มันใช่ไหม วิธีการจะเพิ่มค่าก็มันก็ต้องเอาจำนวนนั้นมาบวกกับ 1 ใช่ไหมคะ เพราะให้เพิ่มทีละ 1 ตอนนี้เราให้เพิ่มทีละ 1 เพราฉะนั้น ก็จะเป็น num + 1จะให้ดูผลการรันของโปรแกรมนี้ ถ้าใครที่พิมพ์โปรแกรมไปด้วย แล้วก็ Run ได้เลย Run ได้เลย อย่างนี้นะคะ จากตัวอย่างประกาศตัวแปรชื่อว่า "NUM" ใช้ตัวใหญ่ เห็นไหม While จะเป็นตัวเล็กจะเป็นตัวพิมพ์เล็กทั้งหมดสังเกตบอกแล้วว่าถ้าใช้โปรแกรมนี่ เวลา print พวกตัวคำสั่งมันจะเป็นสี ๆ เห็นไหม มือไปโดนผิดช่องเพราะฉะนั้นถ้าเราใช้ IDLE นะคะ เราจะต้องกด F5 เพื่อจะทำการ Run เมื่อค่า num เริ่มที่ 1เริ่มที่ 1 มันจะทำงานไปจนถึง 10 เท่านั้นนะคะ เพราะฉะนั้นถ้ายังไม่ถึง 10 มันก็จะไม่หยุด แต่ไม่ใช่ว่ามันจะขึ้นทีละครั้ง มันจะขึ้นพรื กด f 5 แสดงผล เห็นไหมคะ ผลจากการใส่ n แล้วก็ตามด้วยเครื่องหมายลูกน้ำ 1, 2, 3 3, 4 แล้วถ้าไม่ใส่ ดูถ้าไม่ใส่ แก้เลย แก้ให้เห็นเลย ถ้าไม่ใส่ตัวนี้นะ ถ้าไม่ใส่ มันจะเป็นอย่างไร เห็นไหม ไม่ใส่ n แล้วมีอันนี้เห็นไหมคะ ที่บอกมันจะไล่ไปทีละบรรทัด คำสั่ง print มันจะเป็น print ครั้งที่ 1 บรรทัดถัดไปเรื่อย ๆ จะมีความแตกต่างคำสั่ง print อยู่นะคะ เพราะเราต้องการให้แสดงเป็นลักษณะไหน ก็คือ มันจะขึ้นบรรทัดใหม่ให้อัตโนมัติ เรียงเลข 1 เลข 2 เลข 3 เรียงไปตามบรรทัดนะคะแต่ถ้าใช้ print โดยมี n ที่บอก โดยให้ค่าของ n อยู่ในรูปของ String นี่ มันจะทำให้ข้อความน่ะ สามารถแสดงอยู่ในบรรทัดเดียวกันได้เลย เห็นไหมหยุดที่ 10 ทีนี้จะให้ลองทำเองนะคะ ลองเขียนโปรแกรมด้วยคำสั่ง whileมาดูโจทย์ของเรากันให้แสดงจำนวน 10-100 10-100 นะโดยเพิ่มทีละ 10 เมื่อกี้เพิ่มทีละเท่าไหร ทีละ 1 เปลี่ยนจากทีละ เป็นทีละ 10 ค่าเริ่มต้นเริ่มจาก... เข้าใจนะคะ ลองดู อันดับแรก สิ่งแรกที่ต้องมีตัวแปรใช่ไหมคะ และกำหนดค่าเริ่มต้นให้ตัวแปรตัวนี้ อันดับต่อมาก็คือกำหนดเงื่อนไข เสร็จแล้วให้แสดงจำนวนนะคะ โอ.เค. ให้ดูตัวอย่าง ให้ดูตัวอย่างย้อนตัวอย่าง เปิดตัวอย่างให้ดู นะคะ ตัวอย่างแสดง 1-10 แต่คำสั่งเราเราบอกว่าให้ทำอะไร ให้แสดง 10-100 เปลี่ยนอะไรบ้าง ดู จุดที่จะต้องเปลี่ยน คือถ้าเมื่อใดที่ใช้ while เมื่อใดที่ใช้คำสั่ง while นะคะ เมื่อใดที่เราใช้คำสั่ง while นี่นะคะ สิ่งที่ต้องมีเสมอ ก็คือต้องบอกตัวแปรที่กำหนดค่าเริ่มต้น เพราะอะไร เพราะอะไร การทำงานของคำสั่ง while นี่ จะทำงานตามรอบ หรือตามลูป จนกว่า เงื่อนไขจะเป็นอย่างไรคะ เงื่อนไขจะเป็น ไม่เป็นจริงจะหยุดทำงานก็จะทำไปตามจำนวนรอบ ตามเงื่อนไข ถ้ายังอยู่ตามเงื่อนไขจะทำ ทำ ๆ ๆ นะคะ จะไม่หยุดทำจนกว่าจะครบจำนวนรอบตามเงื่อนไขนั่นคือ while นคะะ มันจะสะดวกตรงไหน ให้เรานึกถึงเวลาเราไปใช้คำสั่ง print print 1-10 แต่ถ้าเมื่อใดที่บอก Print 1-100 ต้องเขียนประโยคคำสั่งยาวไปจนถึง 100 แต่กับเขียนอยู่กี่บรรทัด 1 2 3 4 4 บรรทัดได้ 1-100 เหมือนกัน นึกออกนะคะ while จะเป็นตัวช่วยที่ต้องการให้ทำซ้ำ ไม่ต้องไปใช้คำสั่งเดิม ๆ ซ้ำ ใช้แค่คำสั่งเดียว แล้วสามารถวน ๆ ทำซ้ำได้ตามจำนวนที่เรากำหนดนะคะ นั่นคือการใช้ while ทำไป ถ้ายังอยู่ในนี้อยู่ ถ้ายังอยู่ตามเงื่อนไข ยังไม่ถึงค่าที่กำหนดให้นะคะ เพราะฉะนั้นถ้าตัวอย่างบอกเริ่มที่ 1 ไปสิ้นสุดที่ 10 ใช่ไหม แต่ในโจทย์บอกว่า 10 ถึง 100เพิ่มทีละเท่าไร เพิ่มทีละ 10 เพราะฉะนั้นค่าที่ปรากฎมันจะต้องเป็น 10 20 30 40 50 เพราะมันเพิ่มทีละ 10 นะคะ while นี่ ส่วนใหญ่จะทำวนรอบแค่เฉพาะด้านเดียวนะคะ แต่ถ้าใช้ for สามารถวนรอบได้มากกว่า ใช้ได้ 2 ครั้งซ้อนกันได้นะคะ เดี๋ยวเราจะฟรีชหน้านี้ไว้อะตอมไม่ได้เปิด อะตอมดูตัวอย่างนะ ตัวอย่างนี่ ก็คือ 1-10 ใช่ไหม นะคะ ทีนี้ถ้าเราใช้คำสั่ง while ถ้าเราใช้คำสั่ง while นี่ อันดับแรกอะตอมจะต้องประกาศตัวแปร 1 ตัว และกำหนดค่าเริ่มต้น เพราะฉะนั้นค่าเริ่มต้นเราบอกว่าเราเริ่มที่เลขอะไรคะ เลขอะไรอะตอม เลข 1 ใช่ไหม ได้ยินไหมคะ (ล่าม) เลข 1 ครับ เลข 1 ครับ (อาจารย์) เลข 1 นะครับ เมื่อเราบอกค่าเริ่มต้นแล้ว พอมาที่คำสั่ง while คำสั่งที่เราจะต้องกำหนดเงื่อนไข เราจะต้องมาระบุว่าค่าที่จะสิ้นสุดน่ะ คือค่าอะไร เพราะเราบอกว่า 1-10 แสดงว่าอะตอมเข้าใจ 1-10 มากกว่าหรือเท่ากับ ก็คือใช้ตัวดำเนินการตัวนี้ เพราะว่า ถ้าไม่ใช้มากกว่า หรือเท่ากับนี่ ถ้าใช้เท่ากับเลย มันจะทำเฉพาะเมื่อมันถึง 10 นึกออกนะ เราจะต้องเผื่อให้มัน เพราะจะให้มันแสดงเลขตั้งแต่ 1 2 3 ไปเรื่อย ๆ ใช่ไหมคะ เพราะฉะนั้นเมื่อได้เงื่อนไขเสร็จ เราก็มาสั่งให้มันแสดงผลด้วยคำสั่ง print เห็นไหมคะ คำสั่ง print print อะไร print ที่เรากำหนดนึกออกนะ ทีนี้ทีนี้ถ้าใส่คำสั่ง print แล้วที่ใส่คำว่า nชนี่นะคะ ก็คือต้องการให้มันแสดงตัวเลขอยู่ในบรรทัดเดียวกันแต่ถ้า แต่ถ้าไม่ต้องการให้แสดงบรรทัดเดียวกัน ให้มันแสดงคนละบรรทัด ก็ไม่ต้องใส่คำสั่งนี้ เราสามารถตัดคำสั่งนี่ออกได้ ลบออกได้นะ คือใช้คำสั่ง print แล้วก็ตามด้วยข้อมูลที่เราต้องการให้แสดงน่ะพอ แล้วก็ปิดวงเล็บเสีย แล้วก็ลบคำสั่งนี้ อันนั้นมันจะแสดงตัวเลขไปทีละบรรทัด ทีละบรรทัดทีนี้มาดู แล้วทำไมมันจะต้องมี NUM=NUM + 1 เท่ากับ num + 1 ที่ต้องมีตัวนี้ เราระบุว่า ตัวเลขที่มันจะแสดงนี่ มันจะต้องมีค่าเพิ่มขึ้นทีละ 1 ค่า เช่น 1 ไปบวกกับ 1 เป็น 2 ใช่ไหมคะ พอ 2 ไปบวก 3 ไป +1 ก็จะไปเป็น 3 ตัวอย่าง แต่ทีนี้สิ่งที่จะให้ทำในโจทย์ที่จะให้ทำนี่ ให้แสดงตัวเลข 10-100 และให้เพิ่มทีละ 10 นะคะ ลองปรับ โอ.เค. นะ ลองทำดูนะคะ โดยปกตินะ ถ้ารันโปรแกรมมันจะมี Error ขึ้นมาแจ้งอยู่แล้วนะคะ สิ่งที่ส่วนใหญ่จะผิด ก็คือพิมพ์คำสั่งเป็นตัวเล็กตัวใหญ่อย่างนี้ ซึ่งเป็นปกติอยู่แล้ว อีกตัวหนึ่งที่จะผิด ก็คือตัวแปรที่จะผิด มาดูของแม่ แม่ประกาศตัวแปรตัวใหญ่ แล้วมาประกาศตัวเล็แล้วมาเลือกใช้ตามนี้ นั่นคือสิ่งที่จะOSผิดของตัวเงอ กับอีกตัวหนึ่งที่จะชอบลืม บางคำสั่งมันจะไม่มีโคลอนใช่ไหม แต่บางคำสั่งมันมี มันจะแก้ง่ายอยู่ พอ Error ตรงไหน นะคะ โปรแกรมมันก็จะไปแสดงที่ตำแหน่งนั้นผิดอะไรตรงไหนใช่ไหมคะ อย่าลืมว่าเมื่อจะ Run เมื่อพิมพ์คำสั่งเสร็จแล้ว กด F5 นะคะ บีวันนี้เข้าใจไหม บีสัญญาณกระตุกนะนี่ปอย เดี๋ยวนะคะ สัญญาณทางนู้นกระตุก เอาใหม่ค่ะ ได้ยินไหมคะ โจทย์วันนี้เข้าใจหรือเปล่า เข้าใจนะ โอ.เค. แสดงว่าทำได้ ไหน รันหรือยัง กด F5 ดูสิ กด F5 ยังทีนี้ตัวอย่างน่ะ ถูกแล้ว แต่บีดูนะ ดูโจทย์ก่อน สิ่งที่ต้องการให้ทำจากตัวอย่าง นับจาก 1 ใช่ไหม 1-10 นะ แต่โจทย์เริ่มที่ 10 ไปถึง 100 โอ.เค. เพราะฉะนั้น บีจะต้องแก้ แก้เป็นตัวที่ 2 อย่างนี้ โอ.เค. ไหม แก้เลยค่ะ ตัวอย่างทำถูกวิธีการ ก็คือเปลี่ยนค่าใช่ไหมคะ เปลี่ยนค่าเป็นค่าเริ่มต้นในตัวอย่างค่าเริ่มต้นเป็น 1 ใช่ไหม ของเราต้องเปลี่ยนเป็นเท่าไรคะ ดูโจทย์ด้วย 10-100 ใช่ไหม ใช่ไหม จุดที่จะต้องแก้โอ.เค. ถูกต้อง โอ.เค. แสดงว่าเข้าใจแล้ว ถูกต้องเป็นอย่างไร 10 ใช่ไหม ใช่ไหม 20, 30 โอ.เค. ถูกต้องนะคะ แบมด้วย สะกิดแบมให้ด้วย ใบเตยได้ไหม ช้า ๆ ลูกไม่ต้องรีบคือถ้าใช้คำสั่ง while นะ ถ้าใช้คำสั่ง while นี่ ดูที่ค่าเริ่มต้นใช่ไหม ค่าเริ่มต้นก็คือนี่ นี่ก็คือค่าเริ่มต้น แล้วก็ดูค่าที่สิ้นสุดใช่ไหมคะ และก็ดูสิ่งที่ต้องการให้เพิ่มว่าเพิ่มเท่าไร แล้วมันจะทำการเพิ่มให้โดยอัตโนมัตและวนไปเรื่อย ๆ จนกว่าจะถึง 100 ตามที่เรากำหนดนะคะ ทีนี้จะให้ลองนะคะ ลองเพิ่มทีละ 50 50 นะคะ สิ่งที่ต้องการ ก็คือค่าเริ่มต้น เริ่มที่ 50 50 นะ ค่าเริ่มต้นค่าที่ 50 ไปจนถึง 500 นะคะ ถึง 500 โดยให้เพิ่มจำนวนทีละ 100 100 จะดูสิว่าตัวเลขไม่เหมือนเดิมจะสับสนไหม เริ่มต้นที่ 50 ถึง 500 และเพิ่มทีละ 100 โอ.เค. ไหม นะคะ เดี๋ยวเปลี่ยนโจทย์ให้ จาก 100 เพิ่ม 50 ถึง 500ให้เพิ่มทีละ 100 มันจะแสดงอะไร ดูค่าที่ให้เพิ่ม คือ 100 แต่ค่าเริ่มต้นคืออะไรคะ ค่าเริ่มต้นคือ 50 นะ 50 50 ไปจนถึง 500จนถึง 500 แต่จำนวนที่จะให้เพิ่มนี่ มันจะเพิ่มครั้งละ 100 โอ.เค. นะ คือพลิกแพลงโจทย์นิดเดียวคนจะงง ๆ เห็นไหมคะ ต้องดูเงื่อนไข ต้องเข้าใจถึงตำแหน่งมันด้วย ดูนะคะ ผลลัพธ์ของตัวนี้ค่ามันจะต้องเริ่มที่ 50 แล้วก็เป็น 150 ถูกต้องไหม ค่าสุดท้าย ก็คือเท่าไรคะ ต้อง 450 นะคะ มันจะไม่โชว์ 500 เพราะอะไร เริ่มที่ 50 บวกไปทีละ 100 ก็คือมากกว่า หรือเท่ากับ 500 ใช่ไหมคะ แต่ค่าสุดท้ายที่ 450 ถ้ามันไปบวกกับ 100 มันก็เกินใช่ไหม เพราะที่ 450 นะคะ ดูลักษณะการทำงานของ while ให้ดี ๆ while นี่จะง่ายหน่อย ตัวยากอยู่ที่ตัวนี้ครับ คำสั่งที่ 2 for เพราะว่ารูปแบบคำสั่งของ for นี่จะไม่เหมือน while นะคะ for จะต้องเริ่มที่คำว่า "For" แล้วตามด้วยตัวแปรนะคะ wariable หรือนั่นเองนะคะ แล้วก็ตามด้วยคำว่า "in" ทีนี้ตรงที่จะต่อจาก in นี่จะใช้ list หรือ lange นะคะ หรือ Langer ก็คือว่าถ้าใช้ Objext list นะคะ ก็จะเป็นลักษณะของตัวแปรที่เป็นลักษณะเป็น list น่ะค่ะ มีขอบเขตรายการกับ lange ว่า List กับ Lrange มันแตกต่างกัน ปิดด้วยเครื่องหมาย Colon (:) คือ list กับ lan ก็คือถ้าใช้ for นี่ ก็ต้องใช้ตัวนี้ แต่ถ้า for in larange ก็ต้องใช้ตัวนี้ คนละแบบกัน ปิดด้วยโคลอน แล้วมีคำสั่งต่อท้าย มาดูตัวอย่าง ตัวอย่างแรกสำหรับการใช้ For โดยทำงานกับ Object List นะคะ ดูตัวอย่างนะคะ for ที่จะใช้กับ opject list ที่แสดงข้อมูลเป็น String List รายการนั่นเอง มี set รายการให้ มีข้อมูลรายการให้ เพราะฉะนั้น ก่อนอื่นเราจะต้องประกาศตัวแปรที่เป็นชนิด list รูปแบบก็คือที่เป็นชนิด list นึกออกนะ ชื่อตัวแปร เช่น ตอนนี้บอกว่าจะให้แสดงชื่อเล่นของในห้องนี้นะคะ เพราะฉะนั้นเลยประกาศตัวแปรที่ชื่อ Nickname ที่อยู่ในรูป List เพราะฉะนั้นจะใช้เครื่องหมายปีกกาที่เป็นสี่เหลี่ยมน่ะ ถ้าเป็น Opject listจะเป็นสี่เหลี่ยมแล้วตามด้วยที่เราจะใส่ในลิสต์นั้น ในนี้ยกตัวอย่างชื่อ "บี" "อะตอม" "แบม" ไม่ใช่แพม แบมนะคะ เดี๋ยวเปลี่ยนให้ แบมนะ คราม ใบเตย จ๊าบไทเกอร์ เซฟ แล้วก็ไอซ์ ชื่อเล่นของแก๊งนี่ก็คือ ถ้าใครอยากใส่ชื่อตัวเองเข้าไปเข้าไปก็เปลี่ยนเอาชื่อเพื่อนออกได้นะคะ นั่นก็คือลักษณะของตัวแปรชนิดที่เป็น list นะคะ จะอยู่ในเครื่องหมาย จะอยู่ในเครื่องหมายปีกกาสี่เหลี่ยมใหญ่นะคะนะคะ ไม่ใช่ปีกกาสิ เรียกว่าอะไรน่ะ เรียกยากจริง ๆ เลย มีหลายตัว วงเล็บที่เป็นรูปสี่เหลี่ยมนะ วงเล็บสี่เหลี่ยมนี่ เพราะปีกกาจะเป็นรูปปีกกา เพราะวงเล็บก็จะเป็นรูปวงเล็บ วงเล็บแบบที่เป็นสี่เหลี่ยมตัวนี้นะคะ เสร็จแล้วพอประกาศตัวแปร list เสร็จ เราก็มากำหนดค่าให้ for for ของเราเริ่มที่ n ใช้ตัวแปรชื่อว่า n นะคะ ค่า nicenameเท่ากับค่า nickname ชนิด list ที่เราสร้างไว้อันแรก เสร็จแล้ว ลอง print n ออกมา มันจะขึ้น มันจะปริ้นชื่อพวกนี้ออกมาไหมนะคะ ลองเทสลองเทสเลย เดี๋ยวเราก็จะเทสให้ดูบ้าง ใช่ไหม ๆ นั่นไง วันนั้นมาแล้วลืมแก้ ใช่ ๆ เพราะรูปแบบ for แล้วก็ตามด้วยตัวแปร แล้วก็ตามด้วย in แล้วก็ตามด้วยข้อมูลชนิดที่เราต้องการให้แสดง เพราะฉะนั้น ตัวนี้จะต้องเปลี่ยนเป็น in นะคะ ลืมดู Error nicename เวอร์ชั่นนี้line 1 in module name Error String String String เราลืมอะไรคะ ลืมเครื่องหมายอะไรคะ ถ้าเป็น double code ใช่ไหม เราลืมใส่เครื่องหมายนี้ใช่ไหมคะ นี่ แสดงว่าจำได้อยู่นะ ว่าSingle Quotes หรือ Double Quotes ลงไปนะคะ Charactor ดูนะคะ รูปแบบอาจจะสับสนบ้าง เล็กน้อยถึงปานกลาง อะไรหายไป แสดงว่ารูปแบบไม่ถูก เดี๋ยวขอ... บ้างทีก็เป็นกับเวอร์ชันกับเครื่องที่บ้าน กับเครื่องนี้คนละเวอร์ชันกันแป๊บหนึ่งนะ ใช้ตัวช่วยของเรา เดี๋ยวขอใช้ตัวช่วยแป๊บหนึ่งนะคะ ก็อบมาเลยง่ายสุดก็ถูกแล้วนี่ แล้วทำไมมันขึ้น error ก็ใส่เครื่องหมายแล้วนะ ผิดตรงไหน ตรงไหนน่ะ ข้ามไปได้อย่างไร มันจะต้องเป็นสีเขียวอย่างนี้ถึงจะถูกต้อง โอ.เค. น่าจะรอดแล้ว สังเกต เมื่อเป็น list เมื่อเป็น จะต้องมีเครื่องหมายคำพูดเสมอF5 ใหม่ รอบนี้ต้องแสดง โอ.เค. คือ ตอนเขียน Code บางทีพอไปก๊อบโค้ดจากที่เราพิมพ์มา แล้วตัวนี้มันไม่เป็นสีเดียวกันนี่มันไม่รู้จักเสียงั้น มันจะขึ้น Errorเพราะฉะนั้น วิธีแก้ ถ้าขึ้นอย่างนี้มัน... บางทีแค่จำนวนเว้นวรรคนิดเดียวเองนะ เออ โอ.เค. นะคะ ทำไมขึ้นแบบแปลก ๆแบบแปลก ๆ ไม่เป็นอะไร มันก็จะ print ค่าออกมาเป็นอย่างนี้นะคะ ทำไมถึงหลุดไป ก็คือมันก็จะ print ชื่อในรายการลิสต์ที่เราพิมพ์ไว้นี่ออกมา ถ้าต้องการให้มันอยู่บรรทัดเดียวกัน ก็ทำเหมือนเดิมนะคะ ใส่ Comma แล้วตามด้วยคำสั่ง n แล้วก็ตามด้วยเครื่องหมายเท่ากับ Single Quotes แล้วก็ใช้อะไรคั่น Comma คั่นใช่ไหม หรือใช้เว้นช่องว่างเลยก็ได้ เพื่อให้มันมันนี่... เห็นไหมมันก็จะพิมพ์ชื่อแรกไปจนถึงชื่อสุดท้าย นะคะ เราเว้นเพิ่มก็ได้ให้มันห่าง ๆ เห็นไหมคะ อันนี้คือ list นะคะ ใช้ for รูปแบบข้อมูลที่เป็น list นะคะ ซึ่งมันมี string กับที่เป็น String เป็นตัวเลข ถ้าเป็นตัวเลขนะคะ ไม่ต้องใส่เครื่องหมายคำพูด ถ้า list ที่เป็นชนิดตัวเลขไม่ต้องใส่เครื่องหมายคำพูดนะคะ แก้ตรงรูปแบบ เปลี่ยนเป็น in เมื่อกี้ลอง String ที่เป็นจำนวนแล้วนะคะ ลอง string ที่เป็นตัวเลข ตัวเลข ทำต่อคนละบรรทัดได้เลย ถ้าไม่อยากพิมพ์ใหม่วิธีการ ใช้คำสั่งอะไรเอ่ย เดี๋ยวอธิบายให้ฟังก่อนนะคะ ก็คือถ้า ถ้าเราใช้ for for กับตัวแปรที่เป็นข้อมูลที่เป็นแบบ list ชนิด list นี่ นั่นหมายถึงข้อมูลนั้นเรามีข้อมูลในรายการที่ระบุไว้ในตัวแปร เช่น ตัวอย่างแรกที่เป็นชื่อเล่นถูกไหม ในตัวอย่างแรกที่ให้ดูนะคะ นี่ List แบบ String ที่เป็นชื่อเล่น ก็คือมีตัวแปร ประกาศตัวแปรที่เป็น list เพื่อน ๆ ในห้องลงไป เสร็จแล้วคำสั่ง for นี่ for ทำอะไร for ให้ตัวแปรที่ชื่อ n นี่ หมายถึงอยู่ในรูปแบบของ nickname นะคะ nickname ก็คือชื่อเล่น มีรายการชื่อเล่นอยู่ใน nickname นี่ print n ออกมาให้ดู เพราะฉะนั้นใน n ซึ่งอยู่ใน nick name แล้วก็ Carm มันก็จะ print ออกมาหมดนะคะ เพราะฉะนั้นถ้าตัวแปร ก็คือข้อมูลใน list เป็นอะไร ตามนั้นนะคะ for จะทำตามเงื่อนไขโดยอะไรคะ for จะทำตามเงื่อนไข โดยมีจำนวนรอบที่แน่นอน จำนวนรอบที่แน่นอนหมายถึงเช่น เห็นไหมคะ เหมือนชื่อเล่นนี่ ใน List มีอยู่ 1 2 3 4 5 6 7 8 9 มันก็จะทำแค่ 9 ชื่อเท่านั้น นั่นคือจำนวนรอบแน่นอน ๆไม่เหมือน while while มันจะทำตามจำนวนที่ทำจนกว่าจะเป็นจริง มันจะไม่ระบุว่าถึงเท่าไรนะคะ ก็คือในลิสต์มีกี่ตัว for ก็จะทำเท่านั้นก็จะทำเท่านั้นนะคะ ก็จะทำจำนวนรอบตามจำนวนรอบตามจำนวน list ที่มีอยู่นะคะ ลองมาดูที่เป็นแบบตัวเลขบ้าง เปลี่ยนจาก String เป็นตัวเลข ในตัวอย่างที่ 2 ถ้าตัวเลขที่ให้ใน List นะคะ ประกาศตัวแปรอันดับแรกจะต้องประกาศตัวแปรที่เป็นรูปแบบ list เสมอนะคะ การประกาศตัวแปร ตัวแปรที่เป็น List ก็คือข้อมูลจะอยู่ในวงเล็บที่เป็นรูปสี่เหลี่ยมนะคะ ถ้าข้อมูลเป็นสตริงเครื่องหมายจะต้องใส่คำพูด ตัวเลขไม่ต้องใส่คำพูด แต่จะต้องคั่น คั่นข้อมูลแต่ละตัวด้วย... อะไรนะปอย Comma คอมม่าเสมอนะคะ ข้อมูลแต่ละตัวใน List นี่ ใช้ Comma เป็นตัวคั่น ใช้ Comma เป็นตัวคั่นนะคะ เหมือนตัวนี้เรามีชุดตัวเลข 1 2 3 4 5 เพราะฉะนั้นทำงานไปอยู่ใน List ก็คือ 12, 9, 125 57 มันจะ print 12 9 50 57 ออกมานะคะ นี่คือลักษณะการทำงานของ for อันนี้ for ชั้นเดียวนะ แต่ for มันซ้อนได้ 2 ชั้น เดี๋ยวมาดูกัน ดูความยากง่ายของ for ด้วย อันนี้ for โดยแบบใช้ Object List นะคะ ทีนี้มาดู for ที่ใช้ range หรือพิสัยนั่นเอง กำหนดช่วง ของค่านะคะ รูปแบบก็คือใช้คำสั่ง for ตามด้วยตัวแปร 1 ตัว แล้วก็ in range range นี่คือสมมติ ถ้าให้เริ่มที่ 1 มันจะใช้ 1 ไปจนถึง 11 แต่ค่าที่ออกมาจะไม่แสดงค่าที่ออกมานะคะ ลองดูนะคะ กับอีกแบบหนึ่ง แบบที่ 2 for ตัวแปรที่ 2 นับค่าในrange 5 นี่ นับ 5 แล้วมันจะให้ค่าอะไรออกมา ลอง Run ดูนะคะ ค่าตัวนี้ผลลัพธ์มันจะเป็นอย่างไร มันจะมีความแตกต่างที่เห็นได้ชัดเห็นไหม ขอโทษนะคะ พอดีมีเคสคั่นระหว่างการเรียนการสอนเราแป๊บหนึ่ง เมื่อกี้ทดสอบหรือยัง ทดสอบคำสั่ง for ของเราดูหรือยัง ที่ระบุว่า 1-11 กับ lange ที่ระบุค่าเป็น 5 ต่างกันอย่างไรคะ อะตอม ๆ ลองคำสั่งนี้หรือยัง คำสั่ง for out 1 in lange Colon นี่ ๆ .11 นี่ ได้ค่าเป็นอะไร Run ดูหรือยังครับ Run หรือยัง ของ for กับ while จะเห็นได้เลยใช่ไหมคะ ค่าเริ่มต้นของ for นี่ เริ่มที่ 1-11 อยู่ ที่มันปริ้นท์ออกมา มันจะไม่ใช่ 1, 2, 3, 4 56, 7, 8, 9, 10, 11 แล้ววน1 แล้วก็วนกลับไปที่ 0 แล้วก็ 1 ใหม่นะ แล้วก็มา 2 มันจะวนจนกว่าจะไปไปถึงเท่าไหร่ 10 ใช่ไหม ค่าสุดท้าย พอถึง 11 มันจะหลุด มันจะไม่แสดงค่า 11 ออกมา เพราะฉะนั้นการวนรอบ มันจะวนซ้ำไปกี่ครั้ง คิดดู รอบที่ 1 2 1 2 1 2 1 2 3 2, 3, 4 มันจะเป็นลักษณะนี้ 1 2 3 4 5 6 1 2 3 4 5 6 7 ค่ามันจะเพิ่ม คือ 1 รอบค่ามันจะเพิ่ม 1 ตัว นึกออกนะ แล้วก็จำนวนจะเพิ่มอย่างนั้นแล้วลองตัวที่ 2 ยัง for cout in range 5 เปลี่ยนดูยัง ผลลัพธ์ออกมาเป็นอย่างไร เดี๋ยวจะให้บีเป็นคนลองนะคะ คำสั่งนี้ ใช้ for count 2 ชื่อว่า Cont 2 in range rang r-a-n-g-e (5) วงเล็บลูก ใช้เครื่องหมายวงเล็บ โอ.เค. ถูกต้อง แล้วสั่งให้ print ตัวแปรที่ชื่อว่า ลอง print ดู ทำไมของขามันขึ้นแบบนี้ เซฟก่อน ๆ ตั้งชื่อตามตัวแปรก็ได้ count 2 ตั้งชื่อตามตัวแปรนี่ จะได้จำง่าย ๆ การนับแบบที่ 2 โอ.เค. เห็นไหมคะ เห็นไหมคะ ถ้าของตัว Count แบบที่ 2 นับแบบที่ 2 นี่ กำหนดค่า 5 แต่ค่าเริ่มต้นจะเริ่มที่ 0 ใใช่ไหมคะ 0 แล้วก็ 1 2 3 4 จนกระทั่งถึงเลขอะไร เลข 4 เท่านั้น แต่พอนับ เห็นไหม พอนับค่าแรก ก็คือ 0 ใช่ไหมคะ 0 คือค่าที่ 1 0 จะเป็นค่าที่ 1 เพราะใน range นับแบบที่ 2 นี่ ไม่ได้กำหนดค่าเริ่มต้นเหมือน range แบบที่ 1 lange แบบที่ 1 นี่ ค่าเริ่มจาก 1 และนับไปจนถึง 11 นะ แต่จะไม่แสดง 11 แต่จะไม่แสดงถึง 11 จะโชว์ จะ print เฉพาะค่าที่อยู่ในข้างใน โอ.เค. อันนี้คือลักษณะที่ใช้ for for แค่ขั้นเดียวนะคะ แล้วมาดูตัวอย่างที่จะให้ทำทดสอบเอง การใช้ for สร้าง สร้างให้ได้แบบนี้ หลักการ เพิ่มตามอะไร เพิ่มตาม low แล้วก็ column ใช่ไหมคอลัมน์ใช่ไหม เพิ่มทีละเท่าไร ดูดี ๆ 1 2 บวกเข้าไปเท่าไหร่ใช่ไหมคะ 1+2 3 3 + 2 เป็น 5 ดูค่าที่เพิ่ม ถูกไหม จำนวนดอกจันทร์ที่เพิ่ม ตัวแรกอยู่ที่ 1 ใช่ไหมคะ 1 อัน ตัวที่ 2 แสดงว่าเราจะต้องค่าที่เพิ่มมันจะต้องเพิ่มครั้งละ 2 2 อันใช่ไหม ก่อนอื่นตัวแปรสำหรับโปรแกรมนี้จะต้องใช้ for 2 ชั้น ก็คือแสดงนับจากแถวนึกออกนะ ชั้นที่ 2 จะนับจากคอลัมน์ เพิ่มตามคอลัมน์ นึกออกนะ เอาล่ะจะให้มันเพิ่มทางไหนก่อน มาลอง ๆ ต้องเทสต์ด้วยตัวเองมีทั้งหมดกี่แถว ดูแถว 1 2 3 4 5 5 แถวใช่ไหม การเพิ่มของแถวนี่ เพิ่มทีละเท่าไร 1 แถวใช่ไหม เออ แต่พอเพิ่มไปตามคอลัมน์ มันเพิ่ม 1 เพิ่มเท่าไร เพิ่มทีละ 2 ใช่ไหมคะใช่ไหม 1 + 2 เป็น 3 เป็น 5+2 เป็น 7 7+2 เป็น 9 ดูที่การเพิ่มด้วย เพราะฉะนั้นตั้งค่าแถวเพิ่มทีละ 1 ตั้งค่าตัวแปรคอลัมล์ เพิ่มทีละ 2 ให้มันซ้อนกันนะ ใช้ for ซ้อน for ซ้อน for print อะไรออกมา print รูปไอ้ดอกจันทน์ออกมาก็คือในตัวอย่างเราจะใช้ for แค่ทีละ 1 ครั้งนะ แต่ในการบ้าน ๆ เราต้องใช้ for 2 น่ะ for 2นะคะ for แรกสำหรับให้มันแสดงทีละแถว อันที่ 2 สำหรับแสดงตามแนวคอลัมออกมา ให้มันแสดงออกมา บอกหลักการแล้วดูแล้ว ถ้าแถวมันจะเพิ่มทีละ 1 แต่ทางคอลัมน์เห็นไหม ดอกจัน 1 อัน แถวที่ 2 เพิ่มมาเป็น 3 เพราะฉะนั้น ใช่ไหมคะ เพราะฉะนั้นดูค่าที่มันเพิ่มของมันเข้าใจโจทย์ไหม เข้าใจโจทย์ไหม เข้าใจโจทย์ไหม คือเราต้องการให้แสดงดอกจันทน์นี่ เรียงกันลงมาตามรูปแบบนี้โดยใช้คำสั่ง for ต้องใช้คำสั่ง for ในการทำให้มันเรียง คือใช้คำสั่ง print ก็ได้เหมือนกัน ถูกไหห เราอยากให้มัน advance เรามันใช้คำสั่ง for ในการ print ออกมา เราจะไม่ใช่ print แล้วก็วาดรูปดอกจัน ลองทุกอย่าง เขียนโปรแกรม นัก Coding ต้องเขียนเอง เราจะไม่เฉลย เราจะเอาไว้เฉลยสัปดาห์หน้า ทีนี้ที่จะเฉลยให้ดู เดี๋ยวให้ดูสัปดาห์ที่แล้วที่ทำเกรดนะ ที่เราสอนทำเกรดไป ตอนที่ใช้คำสั่งเงื่อนไขแบบทางเลือกหลายทาง เห็นไหมคะ เกรดที่กำหนดคือ A-F ใช่หรือเปล่านะคะ บอกแล้วว่าถ้าใช้ if else if นี่ ให้ดูว่าค่าที่อยู่ระหว่าง else if เท่ากับจำนวนเกรดกี่ตัว ก็คือเริ่มต้น แล้วพอท้าย else จะเป็นค่าสุดทาย เพราะฉะนั้นตัวสุดท้าย ก็คือ else กนี่จะเป็น f เพราะฉะนั้น else if ที่เหลือนี่ ก็คือจะเริ่มที่ A B C และ D ทางเลือก ก็คือกำหนด 4 ทางนะคะ กำหนดทางเลือก 4 ทางเดี๋ยว Run ให้ดู อย่า error นะ Run อยู่บ้านไม่มีปัญหา เอาใหม่ ๆ Run ตัวไหนมา โอ.เค. นะคะ สมมติใส่คะแนน อยากได้เกรดอะไรจ๊ะ ให้ดู 80 เมื่อใส่คะแนน 80 เกรดที่ได้ คือ A เพราะเงื่อนไขทางเลือกแรกก็คือถ้า score มากกว่า หรือเท่ากับ 80 สิ่งที่จะแสดงออกมา ก็คือบอกว่าคะแนนนะคะ จากตัวแปรสกอร์เรา คะแนนที่ได้เกรดที่ได้ คือ a ถูกต้อง ดูเงื่อนไขที่ 2 เช็กว่าถูกไหม ดูที่ else นะ จะให้แสดงอันนี้ ต่ำสุดตอนนี้คะแนนอยู่ที่ 50 เพราะฉะนั้น ถ้าต่ำกว่า 50 คือ 49 คะแนนเห็นไหมคะ ผลลัพธ์มันจะกระโดดมาที่ else ทันที เพราะอะไร เพราะมันไม่อยู่ตามเงื่อนไขข้างบนถุกไหม ไม่ได้อยู่ในเกณฑ์ 60-50 ที่ f นะคะ พอต่ำกว่า คือ ถ้า 49 คะแนนนี่สอบตก เกรดก็จะเป็น F อันนี้คือ เฉลยที่บอกว่าการใช้ else if 1. ดูง่าย ๆ คือ จำนวน if เริ่มที่ตัวแรก แล้ว else ที่สิ้นสุด แสดงเงื่อนไขตัวสุดท้าย หรือ ๆ ๆ มีหรือได้ ก็คือถ้าไม่เอาตัวสุดท้ายเป็นเงื่อนไข หรือเป็นสิ่งที่จะแสดง อาจจะแสดงเป็นตัวอื่นก็ได้ เพราะฉะนั้นจำนวน else if อาจจะเท่ากับทางเลือกที่กำหนด ก็คือ A B C D F ก็คือ 5 ทาง แล้วตรง else นะคะ แสดงอย่างอื่นก็ด้ๆไสมมติในกรณีที่ไม่มีคะแนนเลยนะคะ ก็อาจจะบอกว่าคุณไม่ได้ระบุคะแนน ไม่สามารถระบุเกรดได้อย่างนี้นะคะ เพราะถ้าเกิดใส่แบบไม่มีคะแนนเลยมันก็จะ ถ้าใช้ else เฉย ๆ มันจะมาตกที่เกรด F ไง นะคะ เราสามารถสร้างทางเลือกแบบใช้ else if ตามจำนวนทางเลือกหรือ หรือบอกแล้วใช้หรือได้ ให้นึกถึง ถ้า แล้ว หรือ ถ้าทำแบบนี้แล้วหรือ ถ้าทำแบบนี้ แล้ว หรือ แบบนี้นะคะ มันจะเป็นเงื่อนไขที่ว่าอย่างนั้นเถอะ ว่าทำคะแนนได้เท่านี้ จะได้เกรดเท่านี้ แต่ถ้าทำคะแนนไม่ได้ตามนี่ ตามเกรดที่ระบุ ตาม else if ที่ระบุระบุมาตั้งแต่ต้นนี่มันอาจจะแสดงผลอย่างอื่นก็ได้นะคะ ให้แสดงผลเป็นแบบอื่นก็ได้ ก็คือไม่ต้องแสดง คุณไม่มีคะแนนสอบได้นะคะ สามารถปรับเปลี่ยนได้ตามเราด้วย นั่นคือใช้เงื่อนไข ทีนี้การบ้านที่จะให้ไปทำ ไปลองตัวนี้มานะคะ ใช้ for เพื่อสร้าง ดอกจันเรียงลงมา โดยการพิมพ์ดอกจันให้เป็นอย่างนี้ แต่ไม่ใช้คำสั่ง print ให้ใช้คำสั่ง for มาช่วย print คือเราจะมีคำสั่ง print แล้วก็ดอกจันอันเดียว แต่ใช้ for เพื่อไปควบคุมว่าการเพิ่มจำนวนของแถว หรือของตัวดอกจันทน์เพิ่มอย่างไร ลองดูนะคะ Test ด้วยตัวเอง ไปดูรูปแบบเงื่อนไข for ดี ๆ ว่าก็จะใช้ for 9ัวไหน เพราะฉะนั้น for แบบ list นี่ตัดได้เลย เพราะตายตัว คาดเดาไม่ได้ ต้องใช้ for แบบนี้นะคะ for โดยใช้ range นะคะ ใช้ range แน่นอน แต่เปลี่ยนค่าแค่นั้นเอง ลองดู ลองดู ให้เป็นการบ้านนะคะ สำหรับสัปดาห์นี้นะคะ เราจะจบที่เงื่อนไขของ... คำสั่ง For การวนลูปโดยใช้ for นะคะ ไปทำให้ดอกจันนี้มันแสดงผล 1 2 3 4 5 5 บรรทัดนี้ให้ได้ดอกจันที่เพิ่มจำนวนขึ้น บรรทัดหนึ่งเพิ่มทีละ 2 ดอกมีดอกจันเพิ่มขึ้นทีละ 2 ดอก ขอขอบคุณล่ามทางไกลค่ะ ค่ะ [สิ้นสุดการถอดความ] ห้ได้ดอกจันที่เพิ่มจำนวนขึ้น บรรทัดหนึ่งเพิ่มทีละ 2 ดอกมีดอกจันเพิ่มขึ้นทีละ 2 ดอก ขอขอบคุณล่ามทางไกลค่ะ ค่ะ [สิ้นสุดการถอดความ]