--- title: (Revoice) โครงสร้างข้อมูลและอัลกอริทึม 28/06/2565 subtitle: date: วันอังคารที่ 28 มิถุนายน 2565 เวลา 13.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) ครูมีโปรแกรมมาให้นะคะ อยู่ทั้งหมด 3 บรรทัด คนละ อยู่ที่สไลด์นะคะ ครูมีโปรแกรมมาให้อยู่ 3 บรรทัดนะ บรรทัดที่ 1 Total = 0 นะคะ Total = 0 บรรทัดนี้ครูทำอะไรเป็นการกำหนดค่าเริ่มต้นใช่ไหมคะ เป็นการกำหนดค่าเริ่มต้นให้กับตัวแปรที่ชื่อว่า Total ให้มีค่าเริ่มต้นมันมีค่าเป็น 0 ถูกไหมคะ ค่าแรกตอนนี้ ถ้าเราดันบรรทัดที่ 1 แล้วนะคะ คือตัวแปรตัวหนึ่งที่ตอนนี้เราจะเก็บค่าเป็น 0 เอา 0 มาใส่กล่อง Total เอาไว้นะคะ บรรทัดที่ 2 เราเห็น For ใช่ไหมคะคำสั่ง for คืออะไรเมื่อไหร่ก็ตามที่เห็น for มันคือการวนซ้ำ loop for นะ เราพูดกันที่เข้าใจก็คือ loop for ก็คือมันทำงานหลายครั้งนะคะ มันไม่ได้ทำงานครั้งเดียวนะ ตามเงื่อนไขนะคะ มันสามารถทำงานหลายครั้งได้ แม้บรรทัดแรกมันไม่ได้อยู่ใน loop for ใช่ไหมคะ เวลาโปรแกรมอ่านคำสั่งเพื่อ Run นะ Total จะทำงาน 1 ครั้งนะคะ มันทำงาน 1 ครั้งแล้วก็ผ่านไปบรรทัดนี้ถือว่ามันทำงานแล้วก็ผ่านไปนะคะ มาบรรทัดที่ 2 เป็นคำสั่ง for ก็คือการทำงานวนซ้ำ แสดงว่ามันสามารถทำงานได้มากกว่า 1 ครั้งนะคะ วันนี้เราสามารถสันนิษฐานได้เลยว่าถ้าเรามี for สามารถทำงานได้มากกว่า 1 ครั้ง ถ้าไม่ได้อยู่ภายใต้ Loop for ทำงานแค่ 1 ครั้งเท่านั้น for ตัวนี้ทำอะไร for I in Range วงเล็บเปิดแล้วก็ end แปลความหมายของคำว่า วงเล็บคำว่า n ก่อนว่ามันคืออะไรนะคะ วิธีได้สักเล็บ วันนี้มันจะไป List มันจะเป็นคราบถูกไหมคะ แบบตัวนี้พี่ใช้สัญลักษณ์ก้ามปูเปิด ก้ามปูปิดนะคะ กำหนดให้ a n = 3 เห็นไหมคะ N = 3 เพราะฉะนั้นเราต้องแปลความหมายว่ามันมีค่าอะไรบ้าง ที่เป็นไปได้ถามสามารถมีค่าเป็นอะไรได้บ้างเอ่ย เพื่อนบอกว่า Range 3 ค่าที่เป็นไปได้คือ 0 1 เห็นไหมคะ วงเล็บเปิดแล้วก็ 3 จะเริ่มด้วย Index = 0 เสมอ ที่อยู่ใน List ตอบต้องเป็น 0 นะคะ แล้วรู้ได้อย่างไรว่าถึงแค่ 2 วิธีสังเกตง่าย ๆ มัน 3 ใช่หรือเปล่า ลบออกไป 1 ว่าจะมีแค่ 0 1 แล้วก็ 2 ไหมคะ ถามนี่นะ ลบออกไป 1 ก็เหลือ 2 เป็น 0 1 2 นะคะหรือมันมี 3 ตัว จะกลายเป็น 0 1 2 ก็จะมีทั้งหมด 3 ตัวนะคะ เพราะฉะนั้น redbook เกิดแล้วก็ 33 มาจากไหนกำหนดให้ a = 3 นะ ถามก็คือค่าที่เป็นไปได้ก็คือ 0 1 2 ดังนั้น i ที่เป็นไปได้ก็คือมีค่าอะไรบ้างคะ 0 1 แล้วก็ 2 ครูก็เลยเขียนตรงนี้ก่อนว่าถ้า i ที่เป็นไปได้ก็จะมีแค่ 0 1 แล้วก็ 2 มาที่เราต้องเช็กว่าใครเป็น 0 มันทำงานบรรทัดที่ 1 ไหม for แล้วเป็นจริงมันก็จะมาทำบรรทัดที่ 2 ก็คือสิ่งหรือคำสั่งที่อยู่ข้างในก็คือ print ใช่ไหมคะเพราะฉะนั้นไอ้คำสั่ง print มันก็จะทำงานก็ต่อเมื่อไอมีค่าเป็น 0 1 2 นะคะตามข้างบนนี้ i ที่เป็นไปได้คือ 0 1 2 ฉะนั้นคำสั่ง For กับคำสั่ง Print จะทำงานต่อเมื่อ i มีค่าเป็น 0 1 2 เพราะฉะนั้นครูก็เลยใส่สัญลักษณ์เครื่องหมายถูกรู้ว่าคำสั่งนี้ทำงานนะคะ เห็นไหมคะ ครูใส่เครื่องหมายถูกไม่รู้ว่าถ้า i เป็น 0 คำสั่ง for ทำงานนะสั่ง male ทำงานไปเป็นหนึ่งคำสั่ง for ก็ทำงานถูกไหมคะ มันบอกอีกแล้วนะ print ก็ทำงานไปเป็น 2 for ทำงานเห็นไหมคะ print ก็ทำงานมันทำงานทั้งหมดกี่ครั้ง 3 ครั้งถูกไหมคะครูก็เขียนเลข 3 ทำงานทั้งหมด 3 ครั้ง ทีนี้แต่ละตัวใช่ไหมคะ มันทำงานทั้งหมดกี่ครั้งกด Run Program Group คำสั่ง for กับคำสั่ง print มันทำงาน 3 ครั้งใช่ไหมคะแล้วเมื่อวานทำงาน n ใด ๆ จะทำงานกี่ครั้ง ครูลองเทียบนะ ถ้า range ถ้า range เป็น 4 ค่าที่ได้คืออะไร ค่าที่เป็นไปได้คือ 0 1 มีทั้งหมดกี่ค่า แสดงว่าเมื่อ n เป็น 4 มันก็จะทำงาน 4 ครั้ง แล้วถ้าครูบอกว่าถ้า n เป็น 10 จะทำงานกี่ครั้ง ถ้า n เป็น 10 0 1 2 3 4 5 6 7 8 9 ทำงานทั้งหมดกี่ครั้ง 10 ครั้งถูกไหมคะ 0 จนถึง 9 ทำงาน 10 ครั้ง ลองดู รู้ได้ยังไงว่ามัน 10 ครั้ง เห็นไหม 1 2 3 4 5 6 7 8 910 ถูกไหมคะ ถ้า n เป็น 10 ทำงาน 10 ครั้ง เพราะฉะนั้นเราสามารถสรุปได้ไหมว่าเมื่อ n ใด ๆ ทำงานกี่ครั้ง ทำงานกี่ครั้ง n กี่ครั้งถูกไหมคะ งงไหมคะ เป็น Android ๆ จะทำงาน n ครั้งเพราะฉะนั้นครูถามว่า เมื่อ n เป็น 100 มันต้องทำงานทั้งหมดกี่ครั้ง เมื่อเข้าโปรแกรมตัวนี้ 100 ครั้งใช่ไหมคะ 100 ครั้ง 100 ครั้งนะ เพราะฉะนั้น เราจะมาหาฟังก์ชัน เรารู้แล้วล่ะ ว่าเมื่อเป็น n ใด ๆ มันจะทำงาน n ครั้งนะ เพราะฉะนั้นเราก็มาเขียนตรงนี้ว่าครั้ง เพราะว่าตรงนี้ตัวแปรเราคือ n ใช่ไหมคะ ตรงนี้ก็ทำงานเองอีกครั้งบรรทัดแรกทำงานกี่ครั้งบรรทัดที่ 1 ทำงานกี่ครั้งคะ มันอยู่ใน loop for ไหม ไม่ เพราะฉะนั้นมันทำงาน 1 ครั้ง เมื่อไหร่คะ งั้นเรามาหาค่าฟังก์ชัน ก็คือเอาสิ่งที่อยู่ข้างหลังตรงนี้ที่เราแปลค่ามาบวกกันเป็น 1+n+ n = เท่าไรเอ่ย + n เป็นเท่าไหร่คะ 2 n อันนี้คือ 1 n อันนี้คือเอก 1 n 1 n + 1 n เป็น 2 n บวกด้วย 1 นะคะ เสร็จแล้วเราจะหาค่า big o ต่อ ถูกไหม ที่มากที่สุด n เดียวไหมคะ ที่มากที่สุดเป็นเดียวเพราะฉะนั้น big o เลยตอบเท่ากับก็คือเขียนอันนี้ตัว o วงเล็บเปิดแล้วตัว n เฉพาะตัว N มาใส่เฉย ๆ นะคะตัว n ได้ไหม เอากระดาษมาไหมคะ มีสมุดไหม ครูบอกให้เอาสมุดมา เอาสมุดมาด้วยนะ เดี๋ยวมันมาจะกระจัดกระจาย ที่พี่เขาแจกทุกครั้ง ยังอยู่ไหมครูจะตรวจนะว่ากระดาษที่เราทำกันในห้อง มันอยู่ที่ไหนกันหมด ทำใส่กระดาษนะเราไม่ต้องเอาสมุดงาน เราทำใส่กระดาษหรือหาคลิปหนีบนะคะ มีสมุดรายงานอย่างนี้ก็ได้ อะ ทุกคนดู ครูใช้โจทย์นี้นะคะ Total = 0 I in Range วงเล็บเปิดสั่งที่อยู่ภายใต้หลุมก็คือ Price i ตัวอย่างนี้กำหนดให้ a = 3 ถ้าครูเปลี่ยนใหม่ บอกว่ากำหนดให้ a n = 4 สั่งตรงนี้ ครูจะต้องเปลี่ยนเดี๋ยวนะ ค่าตรงนี้ช่วยครูเขียนหน่อยว่ามันจะมีค่าเป็นอะไร ถ้า i ที่มันเป็นไปได้ควรจะมีค่าเท่าไรนะคะ จำนวนครั้งของการทำงานเป็นกี่ครั้ง ถ้าตรงนี้เมื่อเป็น n ใด ๆ จะเขียนอะไร function คืออะไร คืออะไร เรียงแบบตัวนี้เลยจะเปลี่ยนค่า n ให้กลายเป็น 4 นึกออกไหมคะ คือแทนตัวนี้n ตัวนี้ ด้วยเลข 4 มีใครสงสัยไหม เอ๊ะ ครูให้ทำอะไร อะ นักเรียน... อะ ทุกคนลอกโจทย์ก่อน อะ ไม่ขึ้นหรือ หนึ่งแป๊บ อะ ทุกคนลอกโจทย์ตรงนี้ก่อนก็ได้ค่ะ เดี๋ยวครูค่อยย้อนกลับไปที่ตัวอย่างจะได้ไม่งง อันนี้คือตัวอย่างเปลี่ยน n = 4 เดี๋ยวลอกโจทย์ก่อน เดี๋ยวครูจะย้อนกลับไปที่ตัวอย่างให้ลอกโจทย์ตัวนี้ลงกระดาษก่อน อะ ตรง range 4 นะคะ ถ้าเขียนได้ เขียนต่อไปเลย ว่ามันมีค่าเป็นอะไร ตรง range 4 ถ้าเขียนได้นะคะ print 4 เขียนคำตอบตรงนี้ให้ครูด้วย น่าจะมีค่าเป็นไปได้คืออะไร แล้วเอาหน้าเรานั้นมาใส่ช่อง i อะ เดี๋ยวครูย้อนกลับไปดูตัวอย่างให้ ทำเหมือนตัวอย่างนะคะ โอเคนะคะ บ่ได้เนาะ เมื่อเราเปลี่ยนค่า n เป็นตัวเลขใดๆ คำตอบก็คือทุกคนก็จะได้ o n เหมือนกันเนาะ ฟังก์ชันที่ได้คือ 2 + 1 ok o n นะคะตัวนี้คือการวัดประสิทธิภาพเนาะ โดยเราวัดที่ระยะเวลานะคะ โดยดูจากจำนวนรอบของการทำงาน OK เดี๋ยววันนี้นะคะ เดี๋ยวครูจะขึ้นเรื่องใหม่คือเรื่องของ List list list เมื่อกี้ครูพูดถึงไปแล้วเนาะ เว้น 3 ถ้าข้อมูลที่ได้นี่มันเป็น L นะคะ มันมีหลายค่า 0 1 2ข้อมูลจะอยู่ใน List อีกตัวหนึ่งที่ต้องเรียนก็คือ Dictionary นะคะ เป็นโครงสร้างหรือว่ารูปแบบการจัดเก็บข้อมูลในภาษา python โดยทั่วไปนะคะ อย่างเช่นเมื่อกี้ เราเห็น total= 0 เรา Total = 0 Total คือตัวแปรที่เก็บเพียงแค่ 1 ค่าเท่านั้นคือเลข 0 ใช่ไหม คะ Total เป็นตัวแปรตัวหนึ่งที่เก็บค่าเท่ากับศูนย์ ถ้าเราต้องการให้ตัวแปร 1 ตัวเก็บค่า 1 ค่าเราจะต้องกำหนดนะคะ ให้มันมีรูปแบบของการจัดเก็บเป็นแบบ List l i s t นะคะ เป็นแบบ List 1 ตัวแปรสามารถเก็บข้อมูลได้หลายค่า และเก็บชนิดข้อมูลได้หลายแบบ เป็นได้ทั้งตัวเลข ตัวหนังสือนะคะ ยกตัวอย่าง เหมือนที่เราพูดถึง total เมื่อกี้ ครู เปลี่ยนเป็น x = 5 ตัวแปร x เก็บข้อมูลมีค่าเท่ากับ 5 มีแค่ 1 ค่าเท่านั้นนะจะมีค่าได้แค่เลข 5 เลขเดียวนะคะ มาดูตัวแปรอีกตัวหนึ่งก็คือตัวแปรที่ชื่อว่า thisllist ตัวแปรตัวนี้นะคะ ข้อมูลเห็นไหมคะ มันมีหลายค่ามันมีอยู่ทั้งหมด 3 ค่า Appleเป็นค่าที่ 1 มี Banana เป็นค่าที่ 2 มีเชอรี่เป็นค่าที่ 3 นะคะ แล้วค่าที่เก็บเป็นตัวอักษรนะคะ เห็นไหมคะเห็น Double qoute ตัวนี้เนาะ เราจะรู้ทันทีว่าชนิดข้อมูลที่อยู่ใน thislist ตัวนี้เป็นตัวอักษรมีอยู่ทั้งหมด 3 ค่านะคะ เวลาเราเข้าถึงข้อมูลที่อยู่ใน List เราจะใช้ Index มีการอ้างอิง ՐIndex ตัวแรกจะเริ่มที่ 0 มีทั้งหมดกี่ค่าตัวนี้ index ที่ศูนย์ที่ 1 ที่ 2 นะคะมีทั้งหมดกี่ค่าตัวแปรตัวที่ 2 คือ L 1 มีค่าข้อมูลอีกค่า ตัวที่ 4 ถูกไหม ให้เขาดูหน่อยตัวที่ 2 2 3 ตัวที่ 1 ตัวนี้มีค่าข้อมูลทั้งหมดบทที่ 5 มีทั้งหมด 5 ค่า ชนิดข้อมูลเป็นแบบไหนเป็นตัวอักษรใช่ไหม มันมีแต่มันขอดเป็นตัวอักษรเป็นตัวเลข 3 4 3 4 เป็นตัวเลขนะ เมลเป็นตัวอักษรนะคะ R34 ตัวนี้มันอยู่ภายใต้ " ต้องเป็นตัวอักษร 534 ที่อยู่ภายใต้ wto กับ 34 ตัวนี้พี่ไม่มีสัญลักษณ์อะไรเลยไม่เหมือนกันนะ 34 ตัวนี้สามารถเอาไปคำนวณได้ แต่ 34 ที่เป็นตัวอักษร จะคำนวณไม่ได้นะคะ คำนวณไม่ได้ ถัดมาเวลาเราเข้าถึงข้อมูลที่อยู่ใน List มันมีหลายค่าใช่ไหม มันไม่ได้มีอยู่เพียงค่าเดียว ถ้าค่าเดียวคุณก็เรียกใช้ตัวแปรนั้นได้เลย เช่น total นะคะ อย่างนี้นะคะเราก็เรียกใช้ได้เลยเมื่อไหร่ก็ตามที่เราเก็บข้อมูลมีหลายค่า เวลาเราจะเข้าถึงข้อมูลสภาพอากาศ ใช้ Index เป็นตัวอ้างอิง index ตัวแรกจะเริ่มที่ศูนย์นะคะ index ตัวแรกจะเริ่มที่ศูนย์อันนี้คือlist นะคะThislist ซื้อของ Listเป็นตัวแปรอะไรก็ได้จะมีค่าอยู่ทั้งหมด 3 ค่าเช่นกันเป็นข้อความนะคะ เป็นข้อความดูแต่มันมีแต่วันนี้เป็นข้อความครูต้องการเข้าถึงข้อมูล Banana ครูอยากให้แสดงข้อมูล Banana ออกมา ไม่รู้จะเข้าถึงข้อมูลนั้นได้อย่างไรครูก็อ้างอิงโดยการใช้ชื่อ เปิดตำแหน่งของ Banana มันอยู่ที่ Index ที่เท่าไหร่นะคะ แต่ถ้าไม่รู้มันอยู่ index ที่เท่าไหร่ เราก็วาดตาราง Apple Banana แล้วก็cherry ใส่ข้างบนเป็น Index เราเริ่มที่เท่าไหร่คะ 0 1 ครูต้องกลับมาหน้าถูกไหมคะ เพราะฉะนั้น index ของครูเป็นอะไร ไหมคะ ถูกไหมคะ ก้ามปูเปิด แล้วก็ใส่ก้ามปูปิด ถูกไหมคะ เราก็จะได้ไปแล้วนะ ออกมาศูนย์ได้อะไรเอ่ย อันนี้คืออะไร Apple Apple ก็จะได้ apple ออกมา thislist 2 ได้อะไรคะ cherry นะให้เชอรี่ออกมา มีใครสงสัยไหม เดี๋ยวเรามาคุยด้วยกันนะกับแบบฝึกหัดตัวนี้ ครูมี list นะคะ ก็มีตัวแปรที่ชื่อว่า x ใช่ไหมคะ ตัวมีตัวแปรที่ชื่อว่า x ครูมีค่าข้อมูลกี่ค่า ข้อมูลที่อยู่ใน Excel มีกี่ค่ามีขนาดเท่าไหร่ มีข้อมูลกี่ตัวค่า x ไปทำไมคะ ก็มีข้อมูลอยู่ 5 ตัว ตัวแรกเริ่มต้นที่ Index สูงใช่ไหมคะ ครูก็หย่อนมี 2 4 6 8 0 เริ่มต้น index เป็น 0 เป็น 1 เป็น 2 2 เป็น 3 เป็น 4 ครูต้องการเข้าถึงข้อมูลที่อยู่ใน List ก้ามปูเปิด 3 ตอบเท่าไหร่ เท่าไหร่คะ ใช่ไหม รู้ได้อย่างไร ก็นี่ไง สามค่า ที่ได้ก็คือ 8 นี่ไง Index ตัวนี้คือ Index ใช่ไหมคะ เราก็ต้องเอาค่าเข้ามาใส่ตรงนี้จัดมา x 2 ได้อะไรคะ ได้ 6 เนาะ index ที่ศูนย์ก็ได้ 2 ช่วยครูตอบหน่อย x 4 เท่ากับเท่าไหร่ index = 1 index เป็นหนึ่ง ตอบอะไร ใช่อันแรกเป็น 10 อันนี้เป็นอะไรเป็น 4 นี่คือ อันนี้คือ 4 ตัวนี้คือ 4 OK อันนี้คือ 10 นะคะ มันคือ 10แล้วก็อันนี้คือสี่ทุกคนเข้าใจนะ อะ คราวนี้ ครูให้วาดตารางให้นะ ครูให้ค่าแบบนี้มา ครูอยากรู้ว่าindex = 3 ตอบอะไร index เป็นศูนย์ index เป็น 2 โหลดไว้สิ โหลดไว้ใส่กระดาษของตัวเอง เดี๋ยวครูจะถามทีละข้อindex เป็น 3 ตอบอะไร คนอื่นเอาอะไรถามเริ่มที่เท่าไหร่ เริ่มที่ศูนย์ 1 2 3 4 5 6 ถ้าใครยังนึกไม่ออก วาดตารางแบบนี้ใส่ก็ได้นะคะ หรือเขียน index ข้างบน อะ ตัวแรก ๆ ตอบอะไร ตัวอื่นล่ะคะ ทำสัญลักษณ์มือให้ครูดูหน่อย ได้ไหม ตัวนี้เริ่มที่เท่าไหร่ 0 ตัวนี้เป็นหนึ่ง สอง นี่ 3 4 5 6 ใช่ไหมคะ เพราะฉะนั้น ตอนนั้นครูถามว่า Valve index ที่ 3 ตอบเท่ากับ เท่ากับอะไรดี นี่ ๆ อยู่ด้านบนมันตรงกับวันไหน ไม่เห็นคึกคักแบบเมื่อกี้เลย อะ เท่ากับ 4 ตอบเท่าไหร่ อังคณาได้แล้วแป๊บนึงนะ อะ ดูข้างหน้า แถวที่ 2 แถวที่ 3 แถวที่ 1 เขาได้แล้วนะ ได้เท่าไหร่คะ แถวที่ 2 กำลัง แถวที่ 3 เท่ากับอะไร ใช่แล้ว กลุ่มตรงนั้น อะ คนอื่นถ้าได้แล้ว ดูตัวถัดไป อันนี้ได้เท่าไหร่ใช่ 5 ถูกต้อง 5 ใช่ไหม เห็นไหมมันตรง 5 ใช่ อะตัวถัดไป y 2 เท่ากับ 8 อะไร ตัวแรกได้ 10 นะ ตัวที่ 2 ได้ 5 นะคะ y 2 ก็คือ 8 สิ่งสำคัญต้องเขียน index ให้ได้ ใช่ไหมคะ พอเราได้ index เราก็จะเทียบค่าได้ ว่าถ้า index เป็น 3 เลข 3 มันจะตรงกับเลข 10 เราก็ตอบได้เลยว่าเป็น 10 ตรงกับเลข 5 แล้วก็ตอบได้เลยว่าคือ 5 แต่ข้างบนนี้คือสิ่งที่เราต้องกดเองนะ เป็นสิ่งที่เราต้องถอดเอง เขียนเองนะคะ นี้จะให้มาแบบนี้เป็นแบบนี้ อะ เพื่อนบอกว่า อยากทำอีก ครูมีโจทย์ให้ ตัวเลขยาวมากเลย index 19 index เป็น 5 ครูเอาตัวเลขใดๆเลย จะตอบเท่าไหร่ ตอบครูหน่อยว่า s9 คืออะไรใช่ไหม ยังไม่รู้ เราก็ใส่ก่อนเนาะ 0 1 2ความสูงราคาเราก็ใส่หมายเลข index เลยในกระดาษของเรา 56 เราตอบเท่าไหร่นะ 6 ครับ อะ โอเค แถว 2 ได้อะไรคะอะ ใช่ OK อันนี้ล่ะคะ 5 ต้องตอบนี้ ต้องดูจากข้างบน มันเท่ากับ 2 ใช่ต้องเท่ากับ 2 ตัวนี้ค่ะ ถ้า index ต้องดูจากข้างบนนะ มันถึงจะตอบเท่ากับ 6 อยู่นะคะ ครูเขียนข้างบนก่อน ข้อแรกเท่ากับ 6 A5 ตอบอะไรคะ A5 ตอบอะไรคะ ใช่ข้อ 1 ตอบ 6 A5 ตอบอะไร อันนี้นะ 2 ตอบ 2 อันนี้ล่ะ ใช่ตอบ 9 อันนี้ตอบ 6 อันนี้ตอบ 2 ตรงข้อสุดท้ายตอบ 9 ใช่ไหมคะ ถูกไหม ดูตรงไหน ดูตรงหัวข้างบนนะ index 5 ค่าคืออะไรคือ 2 ก็เลยเอามาใส่ index เป็น 10 คือดูข้างบน ตั้งค่าตรงนี้ คืออะไรเอาตัวนี้มาใส่นะคะย้อนกลับจากข้อนี้นะคะ ครูถามว่าindex ที่เท่าไหร่เท่ากับ 8 ตรงนี้ควรใส่เลขอะไรแปดคือตัวนี้ใช่ไหม แล้วคือต้องเป็น 7 ถูกต้อง ใช่ ต้องเป็น 7 ถูกไหมคะ ใช่เท่ากับ 8 เพราะฉะนั้นพอได้ค่าแบบนี้ แล้วพอได้ลิสต์แบบนี้แล้ว สิ่งที่ต้องทำถัดไปคือเขียน Index เขียน index ข้างบน เราจะได้รู้ว่า index ที่ 9 คือค่าอะไร หรือถ้าต้องดูค่า 8 มันอยู่ index ที่เท่าไหร่นะคะ ก็เอา 7 มาใส่ อะ OK นะคะ list นะคะ ครูย้ำอีกทีหนึ่ง list ต้องอยู่ภายใต้ก้ามปูเปิดและปิด ข้างในมีมากกว่า 1 ค่าต้องใส่คอมม่านะคะ ตัวนี้เราเข้าถึงข้อมูลทีละตัวถูกไหมคะ 9 ก็จะได้ค่ามา 1 ตัว A5 ก็จะได้ค่ามา 1 ตัว ถ้าเราอยากจะได้ค่าข้อมูลทั้งหมดราคาที่อยู่ใน List ก็คือโชว์ค่าทั้งหมดที่อยู่ในลิสต์จะทำอย่างไร เราสามารถเข้าถึงข้อมูลโดยการใช้ loop for ถูกไหมคะ มันสามารถทำงานแบบวนซ้ำ คือ ทำหลายรอบ แล้วเขาจะดึงข้อมูลอะไรออกมา ข้อมูลที่อยู่ใน loop List ถูกไหมคะ for thislist นะคะ เรามีค่าอะไรบ้างนะ ถ้าเราทำงานแต่ละรอบจะเอามาใส่ที่ตัวแปลอีกแล้ว print อกมาที่หน้าจอ App ก่อนถูกไหม เพราะ Apple มันเป็นตัวแรกน่ะ รหัสมาคือ Banana Cherry นะคะ มาทำงานทั้งหมดกี่รอบ คำสั่งนี้ทำงานทั้งหมดกี่รอบ เลยดูซิทำงานกี่รอบ List มีข้อมูลกี่ตัว 3 ตัว เพราะฉะนั้นทำงานกี่รอบคะ 3 รอบเป็นไงรับที่ 1 x เท่ากับ Apple รับที่ 2 x = Banana รอบที่ 3 x = cherry นะคะ จำนวนข้อมูลที่มี แต่ถ้าเราต้องการ index ออกมาด้วย คำสั่งเมื่อก่อนหน้านี้ เราจะได้เฉพาะค่าใช่ไหมคะ เราจะได้เฉพาะค่าออกมา แต่ถ้าเราบอกว่า เราต้องการ index ออกมาด้วย อยากรู้ว่า Apple อยู่ index ที่เท่าไหร่ เราใช้คำสั่งที่เรียกว่า innomerate นะคะ เราก็ใส่ชื่อ List นะคะ แล้วค่าที่เก็บตัวแปรข้างหน้าจะมีอยู่ 2 ตัว ตัวแรกคือ index ตัวที่ 2 ก็คือค่า แล้วเราค่อย print นะคะอินเด็กซ์คอลมาค่าออกมารับที่ 1 จะได้ศูนย์ Apple อันที่ 2 จะได้ 1 banana นะคะที่ 3 จะได้ index ก็คือ 2 แล้วค่าคือ cherry คราวนี้เรามาเขียนโปรแกรมกันหน่อยนะ คนเข้าที่ classroom ไหมคะ ใน Classroom ครูมีรูป ครูต้องเปิดเว็บนะคะ ช่วยเปิดเว็บให้ครูหน่อย ทุกคนเข้าไปที่ Google Classroom ครูจะใส่ python ide เอาไว้ให้เห็นไหมคะ เปิดมาหน่อยเร็ว นี่ค่ะแต่วันนี้นะคลิกเข้าไปเลยลิงก์ตัวนี้ คลิกหรือยังคะ กำลังเข้ารหัสอยู่นะคะ จำได้ไหมรหัส เสร็จแล้ว จะเข้าเว็บตรงนี้นะคะ ก็คือชื่อเว็บออนไลน์ไพธอนดอทคอม ใครเข้าแล้วลบสิ่งที่อยู่ที่หน้าจอให้หมดเลย เข้าแล้วใช่ไหมเดี๋ยวนะ เดี๋ยวครูขยายให้ OK ทุกคนอยู่ที่หน้านี้แล้วนะคะ เดี๋ยวเราจะลองเข้าถึงข้อมูลที่อยู่ใน list นะคะ โดยการใช้ loop for อันดับแรกกำหนดค่า x ก่อน ทุกคนพิมพ์ตามครูนะคะ 1 Command 2 คอมม่า 3 คำว่า 4 คอมมา 5 อันนี้ สมมุตินะครูใส่ข้อมูลที่อยู่ใน List นะคะ เสร็จแล้วเคาะ Enter ลงมาขึ้นบรรทัดที่ 2เราใช้ loop for นะคะ ตั้งชื่อตัวแปรว่า Value in x แล้วก็ใส่เซมิโคลอน หมายความว่าค่าที่อยู่ใน x นะคะ คือแต่ละค่า ค่าที่ 1 จะเอาค่า 1 มาแทนที่ Value นะคะ ทำงานรอบที่ 2 ก็เอา 2 ทำงานรอบที่ 3 ก็คือพลาด 3 เสร็จแล้ว ครูต้องการให้ print ค่า i ออกมาดูหน่อย ว่ามันเป็นอย่างไรไม่ใช่ i ขออภัยเป็นอะไรคะ value นะ อะไร เพราะว่าค่าตัวนี้ คือ Value เพราะฉะนั้นเราต้องแสดงค่า Value ออกมาแล้วกด Run เลยเราได้ข้างบนไหมคะ OK อะ คราวนี้ดูต่อ เมื่อกี้เราพูดไปแล้วนะ ว่าเวลาเราต้องการเข้าถึงฐานข้อมูลทีละค่านะคะ เมื่อกี้นะ ได้ค่าเป็นอะไร เช็กว่าแล้วคำตอบที่เขาถามเมื่อกี้แล้ว มันใช่ไหม เราสามารถเอามารันใน python ได้นะคะ เรามีค่าข้อมูล 1 2 3 4 5 ใช่ไหม ครู อยากรู้ว่า x index เป็น 2 มีค่าเป็นอะไร index เป็น 2 มีค่าเป็นอะไร เห็นไหม เราก็สามารถหาคำตอบได้นะ x index เป็น 2 กลับคืนนี้ถ้าเป็น 3 แล้วนะคะ เราสามารถเช็กคำตอบได้ว่าเราตอบไปเมื่อกี้ ถูกหรือเปล่า โดยการใช้คำสั่ง print ใช่ไหมคะ แล้วครูต้องการแสดงค่าตัวนี้ออกมาที่หน้าจอ Google เขียนอยู่ในใต้ Double แล้วภายใต้คอมม่าแล้วค่าที่ครูต้องการตามหา คือ F มีค่าเป็นอะไร ตอบที่ได้คือมีค่าเป็น 3 ลองดูเปลี่ยนได้นะ ครูเปลี่ยนค่าตรงนี้เป็นศูนย์ ลองเช็ก ลองทดสอบได้นะคะ มันก็จะไปเปลี่ยนค่าตรงนี้ให้ตอบได้นะคะเปลี่ยนค่า Index เป็นอะไร นี่ะคะ โอเคนะคะ OK อันนี้ค้างไว้นะไม่ต้องปิดนะคะ เดี๋ยวลงมาก็ได้ เดี๋ยวเราจะมาทำต่อ โอเคไหม ไปต่อได้หรือยังคะ OK ถ้าเราต้องการหาขนาดของลิสต์ ขนาดคืออะไร ใน List เรามีข้อมูลกี่ตัว อันนั้นคือขนาดของลิสต์ใช่ไหมคะ เรานับเลย 1 2 3 4 มีขนาดกี่ตัว เรามีขนาดกี่ตัว วันนี้ตัวแปร x มีขนาดเท่าไร มีข้อมูลกี่ตัวคะ ถูกไหมตัว 1 2 3 4 5 6 7 8 มีข้อมูลอยู่ 8 ตัว ถ้าเราอยากให้คอมพิวเตอร์หาขนาดของ list ให้ โดยที่เราไม่ต้องมานั่งนับเองทำอย่างไรนะคะ ลองใช้คำสั่งที่ผู้ว่าเลนส์นะคะ คำว่าเลนส์แล้วตามด้วยวงเล็บเปิดชื่อ print นะคะใส่ชื่อมันก็จะแสดงขนาดของ List นับจำนวนข้อมูลที่อยู่ในว่ามีกี่ตัว ถ้าเราต้องการให้แสดงออกมาที่หน้าจอก็ใส่ Print เข้าไปนะคะ print วงเล็บเปิดแล้วก็ตามด้วยชื่อวงเล็บเปิด แล้วก็ตามด้วยวงเล็บปิด เลนส์คือขนาดนะนะคะ วงเล็บเปิดวงเล็บปิดคือจะค่าได้เท่ากับ 8 คำสั่งต่อมา ถ้าเราต้องการเพิ่มข้อมูลตัวใหม่ลงไปใน list ถ้าเราต้องการเพิ่มตัวใหม่เข้าไปใน list ใช้คำว่า append แล้วตามด้วยวงเล็บเปิดข้อมูลตัวใหม่คือต้องการจะใส่ลงไปใน List ใช่ไหมคะมีข้อมูลอยู่ 3 ตัว Apple ครูบอกว่า ครูอยากเพิ่มข้อมูลตัวใหม่ Orange อยู่ใน List นี้ โดยไปต่อท้ายคำว่า cherry เราจะใช้คำสั่งอะไร เราจะใช้คำสั่งแอปเปิ้ลนะคะ Append เราจะเขียนคำสั่ง เราจะเขียนอย่างไร ความช่วยเหลือคำสั่ง Apppen วงเล็บเปิดข้อมูลใหม่ แล้วก็วงเล็บปิด Orange ก็เป็น Apple วงเล็บเปิดแล้วก็ใส่ Orange มันเป็น ใช่ไหมมันเป็นตัวอักษร Double quote แล้วก็วงเล็บปิด อยากรู้ว่ามันเข้าไปจริงหรือเปล่ามันใส่เข้าไปจริงหรือเปล่านะคะใช้คำสั่ง Print print แสดงออกที่หน้าจอ print วงเล็บเปิด ออกมา Orange เพิ่มให้แล้วอยู่ท้ายสุดเลย แล้วลบบ้างทำอย่างไรคะ ลบ เพิ่มใช้ Append ไป อะไรคะ ลบใช้คำสั่ง remove ใช้คำสั่ง reMove นะคะ วิธีการลบ ลบอย่างไร คำว่า remove วงเล็บเปิดที่ต้องการลบการลบข้อมูลบานาน่าออก This is remove วงเล็บภาพขนาดที่ต้องการจะลบ แล้วก็วงเล็บปิด แล้วแล้วกด done ถูกไหมมันจะถูกลบไป เช็กว่ามันถูกลบไปจริงหรือเปล่า วงเล็บเปิด Thislist ไปบานาน่าหายไปแล้ว คำสั่งพวกนี้นะ ถ้าจำไม่ได้ไม่เป็นไร ไม่เป็นอะไรนะคะ ลองเปิดดูได้นะ เราเขียนโค้ดเราอาจจะจำทุกคำสั่งไม่ได้แต่เราจะสามารถเปิดดูได้ ถ้าเราจะเพิ่มเราจะใช้คำสั่งอะไร ถ้าเราจะลบใช้คำสั่งอะไรนะคะ ทำไม่ได้ก็เปิดดูได้นะ วันนี้ตัดมาลบอีกแบบหนึ่ง remove โดยใส่ค่าที่ต้องการจะลบวันหนึ่งวิธีการลบคือการใช้ d e l มาจากคำว่า delete นะคะ โดยการระบุ index ต้องการจะลบ ถ้าเรารู้ตำแหน่งที่ต้องการจะลบข้อมูลตัวนั้น สามารถใช้โทรได้ del ได้ ของ list ใส่ index นะคะ แล้วก็ก้ามปูปิด ครูต้องการจะลบข้อมูลที่ Index = 0 ก็คือ Apple index = 0 Apple = 0 นะคะก้ามปูปิด ก็คือ Apple หายไปแล้ว แค่ banana กับ cherry นะคะไป ไปเรื่อย ๆ กับครูก่อนนะ เดี๋ยวครูจะให้ปฏิบัติการเข้าถึงข้อมูลทีละหลายๆค่าบ้าง ทำอย่างไร ถ้าต้องการเข้าถึงข้อมูลหลายๆภาพ คือคำตอบอยากได้ข้อมูลหลายๆตัวออกมาทีเดียวเลยที่นี้เรานี้เราอยากได้คำตอบออกมาหลายๆตัว ทำอย่างไรตัวนี้นะคะ ชื่อใหม่ Listว่ามีตัวอักษรสอนภาษาอังกฤษวิธีตัว R ตัว O ตัว G ตัวเองตัวเองตัว I แล้วก็ตัวแรก เราเริ่มต้น index = 0 นะคะ เราเริ่มต้น index = 0 ตอนแรก range my List ชื่อใน list มีจำนวนเท่าไร จำนวนเท่าไหร่คะ มีจำนวนกี่ตัว จำนวนกี่ตัวคะ 1 2 3 4 5 6 มีทั้งหมดกี่ตัวคะ กี่ตัวนึกออกไหม นับ นับจำนวนที่อยู่ในlist มีกี่ตัวจำนวนที่อยู่ใน List มี ครูก็คือมี 9 ตัว มาต้องการเข้าถึงข้อมูลนะคะ ที่เป็นช่วง คือตั้งแต่ index ที่ 2 อย่างเช่นครูต้องการเข้าถึงข้อมูลนะคะ my list ตั้งแต่ 2 เซมิโคลอนแล้วก็เลข 5ที่ได้คืออะไร ดูเอาข้อมูลนะคะจาก My List มาใส่ในช่องแล้วครูก็กำหนด index นะคะ อันนี้คือ Index แล้วครูก็กำหนด Index 0 1 2 3 4 5 6 7 8 สุดท้ายคือ 8 ครูบอกว่า My List นี่ จะได้คำตอบอะไร 2 ตัวแรกอยู่ที่นี่ใช่ไหมคะ 2 ก็คือได้ o แล้ว จนถึงเลข 5 นะคะ แต่เวลาเราดึงค่าออกมาให้ลดลง 1 ไหมคะที่ได้ก็คือตั้งแต่ 2 จนถึง 4 ก็คือ My List คือที่ 5 ใช่ไหมคะ เริ่มที่ 5 มันถึงไม่ระบุ ถึงไม่ระบุคืออะไรจนถึงตัวท้าย a m i z นะคะ ถ้าไม่ระบุตำแหน่งอะไรเลย ก็คือได้ทุกตัว ก็คือได้ทุกตัวนะคะ ดูตัวอย่างถัดไป เดี๋ยวครูให้ทำแบบฝึกหัดนะคะ ครูมี list อยู่ทั้งหมด 9 ตัวนะ วันนี้นะคะ คือตัวนี้ต้องการข้อมูล r o g คือตัวนี้กำหนด index เป็นเท่าไร มาอยู่ที่ตำแหน่งที่เท่าไหร่คะ ที่ 1 มีอยู่ตำแหน่งที่เท่าไหร่ 3 เพิ่มไปอีก 1 กลายเป็น 4 ลองดูนะ a กับ M ก็คือเป็น 5-7 g กับ x คือ 3-5 p กับ r ก็คือ 0 2 OK แป๊บนึง ครูเอาใหม่ อันนี้คือ x นะ คราวนี้ทุกคนดูนะคะ เราลองช่วยกันทำหน่อยได้ไหมคะ ครูให้ list มานะคะ มีค่าเป็นอะไรบ้าง 2 4 6 8 แล้วก็ 10 OK กำหนดให้ x นี่เป็น list มีค่าอยู่ 5 ตัว ถ้า x มีขนาดเท่ากับ 5 มีขนาดเท่ากับ 5 index ไปให้นะ เอามาลงช่องเรียบร้อยแล้วใส่ค่า Index ครูทำหน่อย 5 ข้อตอบอะไร index 3 ตัวตอบอะไร 13 ตอบอะไรเด็ก 2-4 index สูง 3 ตอบอะไรคะ ถ้าไม่ได้ดูสไลด์ก่อนหน้านี้ ครูมีตัวอย่างให้ดูนะคะ อันนี้ตัวอย่างที่แล้วนะ แล้วอันนี้คือสิ่งที่ครูต้องการให้หา สงสัยเทียบกับตัวเดิมได้มาได้อย่างไรนะ มันจะใส่ค่าอะไรดี คำตอบไม่ใช่เอามาตัวเลขอย่างเดียวนะ มันต้องอยู่ในไหนคะ ไม่ต้องอยู่ใน list เขียนตามครูเปิดปิดด้วยนะคะ ที่ไหนข้าต้องใส่ก้ามปูเปิดปิดให้ครู แต่ถ้าเป็นค่าเดียว index ตัวเดียวใส่ค่าออกมาเลย โจทย์ครูคือตัวเลขตัวนี้นะคะ อันนี้คือตัวอย่างนะคะอันนี้คือตัวอย่างนะคะ ตรงนี้คือตัวอย่างเฉย ๆ ไม่เกี่ยวกัน อันนี้คือตัวอย่าง ไม่แน่มีแค่ 2 ข้อที่เหลือเป็นตัวอย่างหมดเลย ลองทำดู