ยินดีต้อนรับกลับมาดังนั้นเราได้ครอบคลุมถึงลำดับแล้ว
และในบทเรียนนี้ เรากำลังจะครอบคลุมการทำซ้ำ
ย้ำทำงานชิ้นส่วนของรหัสสำหรับรายการในลำดับทุกคน
ไม่ว่าจะเป็นสตริงรายการหรือ tuple
เพื่อที่จะทำย้ำ
เรากำลังจะใช้สำหรับวง
ซึ่งเป็นครั้งแรกของโครงสร้างการควบคุมจำนวนมากที่เรากำลังจะเห็นในหลักสูตรนี้
ดังนั้นให้ดูที่สำหรับวงในการดำเนินการ
เพื่อที่จะสร้างสำหรับวงที่จะย้ำกว่าลำดับ
ที่เราเริ่มต้นออกโดยบอกว่าคำหลักสำหรับ
ซึ่งระบุว่าเราต้องการที่จะสร้างสำหรับวง
หลังจากที่สำหรับแล้วเราสร้างสิ่งที่เรียกว่าตัวแปรห่วง
เราสามารถเรียกตัวแปรห่วงของเราชื่อตัวแปรใด ๆ ที่ถูกต้อง
แต่ในกรณีของการนี้สำหรับวง
เรากำลังเรียกชื่อตัวแปรห่วงของเรา
หลังจากที่เราประกาศตัวแปรห่วง
แล้วเราพูดในและหลังจากนั้นเร
าระบุสิ่งที่ลำดับเรากำลังจริงซ้ำมากกว่า
ดังนั้นในกรณีนี้ เรากำลังทำซ้ำรายการนี้
ซึ่งมีหนึ่ง, สอง, สาม,
สี่, ห้า, หก, เจ็ด
สิ่งนี้สำหรับวงจะไปทำก็คือมันเป็นครั้งแรก
ที่จะกำหนดชื่อจะเป็นรายการแรกในลำดับ
ดังนั้นโจและจากนั้นก็จะกำหนดชื่อจะเป็นรายการที่สอง
และจากนั้นก็จะกำหนดให้มันเป็นรายการที่สามและอื่น ๆ
หลังจากที่มันกำหนดให้เป็นรายการใด ๆ โดยเฉพาะอย่างยิ่งในลำดับนี้
แล้วเรากำลังจะไปทำงานสิ่งที่อยู่ภายในของห่วง
ในกรณีนี้รหัสเดียวที่เรามีภายในนี้สำหรับวงเป็นคำสั่งพิมพ์นี้
ซึ่งพิมพ์ออก “สวัสดี” แล้วสิ่งที่ชื่อ
ค่าตัวแปรวงของเราคือ “กรุณามาที่งานเลี้ยงของฉันในวันเสาร์”
ดังนั้นเมื่อเราเรียกใช้รหัสนี้
สิ่งที่เราได้รับคือ “สวัสดีโจ
โปรดมาปาร์ตี้ของฉันในวันเสาร์” และจากนั้น, “สวัสดีเอมี่
โปรดมาปาร์ตี้ของฉันในวันเสาร์”,
“สวัสดีแบรดโปรดมาปาร์ตี้ของฉันในวันเสาร์”, และอื่น ๆ
ดังนั้นโดยทั่วไปสิ่งที่เกิดขึ้นที่นี่เป็นที่งูหลามกำลังเรียกใช้รหัสนี้
คำสั่งพิมพ์นี้สำหรับทุกรายการเดียวในลำดับ
นี้และสำหรับทุกรายการเดียวในลำดับ
ก็เป็นครั้งแรกที่กำหนดชื่อที่จะเป็นรายการที่
แล้วเรากำลังพิมพ์ออก “สวัสดี” แล้วสิ่งที่ชื่อ
“กรุณามาที่งานเลี้ยงของฉันในวันเสาร์”
ดังนั้นสำหรับทั้งเจ็ดรายการในรายการนี้
แล้วเราจะได้รับเจ็ดงบการพิมพ์
ดังนั้นให้ดูที่รหัสเดียวกันภายในของ CodeLens
ดังนั้นอีกครั้งที่เรากำลังทำซ้ำกว่ารายการของชื่อและตัวแปรห่วงของเราเรียกว่าชื่อ
ดังนั้นครั้งแรกที่เราเรียกใช้รหัสนี้
คุณจะเห็นชื่อที่ได้รับมอบหมายให้รายการแรกในรายการของเรา
ในกรณีนี้ชื่อได้รับมอบหมายให้โจ
ตอนนี้เมื่อเราเรียกใช้คำสั่งพิมพ์นี้เพื่อพิมพ์ออก “Hi name,
โปรดมาปาร์ตี้ของฉันในวันเสาร์”,
แล้วเราพิมพ์ออก, “Hi Joe,
โปรดมาปาร์ตี้ของฉันในวันเสาร์.
จากนั้นถัดไปชื่อได้รับมอบหมายให้รายการที่สองในรายการของเรา
ดังนั้นในกรณีของเราจะได้รับมอบหมายให้เอมี่
และตอนนี้เมื่อเราพิมพ์ออก “สวัสดีชื่อ
โปรดมาที่งานเลี้ยงของฉันในวันเสาร์”,
เราได้รับ “สวัสดีเอมี่
โปรดมาปาร์ตี้ของฉันในวันเสาร์”.
จากนั้นชื่อได้รับการโอนไปยังรายการที่สามหรือแบรด
ดังนั้นตอนนี้เมื่อเราพิมพ์ออก “สวัสดีชื่อ,
กรุณามาที่งานเลี้ยงของฉันในวันเสาร์”,
เราได้รับ “Hi Brad,
กรุณามาที่งานเลี้ยงของฉันในวันเสาร์”.
รูปแบบนี้ซ้ำสำหรับทุกรายการเดียวในลำดับที่เรากำลังทำซ้ำกว่า
จนกว่าเราจะทำซ้ำมากกว่าทั้งหมดของ
รายการซึ่งในกรณีที่โปรแกรมของเราถูกยกเลิก
ดังนั้นเมื่อเราสร้าง for loop
สมมติว่าเป็นนามธรรมดูเหมือนว่าบางสิ่งบางอย่างทางด้านซ้ายมือที่นี่
ดังนั้นเราจึงมีรหัสบางอย่างที่อาจจะมาก่อน
เรามีรหัสบางอย่างที่อาจจะมาหลังจากที่
แล้วเรามีของเราที่เกิดขึ้นจริงสำหรับวง
เราประกาศของเราสำหรับวงอีกครั้งโดยพูดว่า “สำหรับ”
แล้วตัวแปรวงของเรา
และจากนั้นเราพูดว่า “ใน” และจากนั้นเราพูดอะไรลำดับที่เรากำลังทำซ้ำมากกว่า
จากนั้นภายในของห่วง
เรามีสิ่งที่เรียกว่าการป้องกันรหัส
ดังนั้นที่นี่บล็อกรหัสจะแสดงเป็นสีเขียว
วิธีการที่เราบอกว่าการป้องกันรหัสห่วงนี้อยู่ภายในของห่วง
เมื่อเทียบกับด้านนอกของห่วงจะผ่านแท็บหรือช่องว่าง
ดังนั้นเราจึงต้องเยื้องบล็อกรหัสห่วงเพื่อ
แสดงให้เห็นว่ารหัสนี้เป็นของใบนี้
ดังนั้นเมื่อเราประกาศสำหรับวงเช่นนี้
แล้วนี้จะเทียบเท่ากับครั้งแรกการออกแบบตัวแปรห่วง
ในกรณีของเรา x ไปยังรายการแรกในลำดับ
และจากนั้นเรียกใช้การป้องกันรหัสห่วง
แล้วกำหนดตัวแปรวง x ของเราไปยังรายการที่สองในลำดับของเรา
แล้วเรียกใช้การป้องกันรหัสห่วงและอื่น ๆ และอื่น ๆ
ดังนั้นการกำหนด x ให้กับรายการที่สามรายการที่สี่
และอื่น ๆ จนกว่าเราจะกำหนดตัวแปรลูป x ให้กับรายการสุดท้าย
และเรียกใช้การป้องกันรหัสลูป
ดังนั้นสิ่งหนึ่งที่ควรทราบที่นี่คือการ
ป้องกันรหัสห่วงอาจหรืออาจไม่อ้างอิงตัวแปรวง
ของเรา แต่ถ้ามันไม่อ้างอิงตัวแปรวงของเรา
แล้วอ้างอิงว่าจะมีการเปลี่ยนแปลงทุกครั้งเดียว
ดังนั้นสำหรับตัวอย่างเช่นในรหัสก่อนหน้านี้ของเรา
เราอ้างอิงชื่อตัวแปรห่วงของเราภายในของการป้องกันรหัสในวงของเรา
ดังนั้นนั่นหมายความว่าชื่อที่จะมีการเปลี่ยนแปลงสำหรับทุกรายการเดียวในรายการของเรา
ดังนั้นนอกเหนือจากการทำซ้ำในรายการ
สำหรับลูปช่วยให้คุณสามารถย้ำกว่าลำดับใด ๆ
รวมทั้งสตริงรายการและ tuples
ดังนั้นขอไปดูตัวอย่างของการทำซ้ำมากกว่าสตริง
ดังนั้นที่นี่เรากำลังทำซ้ำมากกว่าสตริง “Go Spot Go”
และเรากำลังเรียกตัวแปร achar วงของเรา
ดังนั้นสิ่งที่หมายความว่าเป็นครั้งแรกที่ร่างกายห่วงนี้ทำงาน
แล้ว ACHAR เป็นไปได้ได้รับมอบหมายให้ทุนตัวอักษร G
ครั้งที่สองที่มันทำงานก็จะได้รับมอบหมายให้ตัวละครตัวพิมพ์เล็ก o
ครั้งที่สามที่มันทำงานมันจะได้รับมอบหมายให้เป็นตัวละครพื้นที่
แล้วทุน S และอื่น ๆ
ดังนั้นสิ่งที่หมายความว่าเมื่อเราเรียกใช้รหัสของเรา
แล้วเมื่อเราเป็นครั้งแรกที่จะพิมพ์ทุน G แล้ว o ตัวพิมพ์เล็ก
และพื้นที่และอื่น ๆ สำหรับตัวละครในสตริงทุกคน
และเพราะพิมพ์ตัวอักษรออกในบรรทัดที่แยกต่างหาก
แล้วเราได้รับ Go Spot ไปพิมพ์ออกมาในแนวตั้ง
ดังนั้นเรามาดูกันว่าคำถามที่มีหลายทางเลือก
ครั้งแรกที่เรากำหนดสตริง S ที่จะเป็นหินหลาม
และจากนั้นเราพูดสำหรับตัวละครทุกตัวใน s ดังนั้น
อีกครั้งที่นี่ตัวแปรห่วงของเราคือ CH
และสิ่งที่เรากำลังทำซ้ำมากกว่าเป็น s
และร่างกายห่วงของเราประกอบด้วยคำสั่งพิมพ์หนึ่งที่พิมพ์ออกสตริง “สวัสดี”
คำถามคือกี่ครั้งคือคำว่า “HELLO” พิมพ์โดยข้อความต่อไปนี้?
ดังนั้นสิ่งหนึ่งที่เรารู้
ว่าเป็น CH เป็นไปได้ที่ได้รับมอบหมายให้ตัวละครตัวแรกใน s
แล้วตัวละครที่สอง
แล้วตัวละครที่สามและอื่น ๆ
สิ่งที่หมายความว่าร่างกายห่วงนี้จะไปทำงาน
ครั้งเดียวสำหรับตัวละครในสตริงทุก ดังนั้นในคำอื่น ๆ
ร่างกายห่วงนี้จะไปทำงาน แต่หลายครั้ง s เป็นเวลานาน
ดังนั้นถ้า s เป็นตัวละครตัวเดียว
แล้วมันจะทำงานครั้งเดียว
ถ้า s สำหรับตัวละครสองตัวก็จะทำงานสองครั้ง
ดังนั้นเพื่อที่จะหาจำนวนครั้งที่คำว่า “HELLO” ถูกพิมพ์
ออกมาในรหัสนี้ฉันจะหาสิ่งที่เป็นความยาวของ s
และฉันพบว่ามันเป็นหนึ่งสองสามสี่
ห้าหกเจ็ดแปดเก้า 10, 11,
12 ตัวอักษรซึ่งหมายความว่าฉันควรคาดหวังว่ารหัสนี้จะทำงาน 12 ครั้ง
ดังนั้นต่อไปเราจะถามว่า
หลายครั้งเป็นคำว่า HELLO พิมพ์ออกมาโดยคำสั่งดังต่อไปนี้?
ดังนั้นที่นี่เรากำลังกำหนด S ให้เป็นค่าเดียวกัน
และเรามี ch ตัวแปรวงเดียวกัน
ตอนนี้มากกว่าการทำซ้ำทั่วทั้งของ s
เรากำลังทำซ้ำมากกว่าชิ้นของ s โดยเฉพาะ
เรากำลังทำซ้ำมากกว่า s จากดัชนี 3-8
ดังนั้นสิ่งที่หมายความว่าเรากำลังทำซ้ำมากกว่า s จากศูนย์หนึ่ง
สองสามจากที่นี่ถึงสี่,
ห้า, หก, เจ็ด, แปดถึงที่นี่
ดังนั้นเราควรจะคาดหวังว่านี้จะทำงาน 1,
สอง, สาม, สี่, ห้าครั้ง
ดังนั้นเราจะเห็นว่าเพราะลำดับห้าตัวอักษรจะถูกส่งกลับโดยชิ้น
แล้วเราทำงานของเราสำหรับวงห้าครั้ง
ดังนั้นในตัวอย่างรหัสนี้
เราสร้างรายการที่มีสี่รายการ
และเรามีตัวแปรห่วงชื่อ afruit
และเราย้ำกว่ารายการของเราสำหรับรายการ
ตอนนี้เมื่อเราพิมพ์ออกค่าของตัวแปร afruit วงของเรา
แล้วเราควรคาดหวังที่จะได้รับรายการของรายการของเราทุกพิมพ์ออกมาในบรรทัดที่แยกต่างหาก
สำหรับลูปยังทำงานแม้ว่าเราจะไม่สนใจเกี่ยวกับลำดับที่เรากำลังทำซ้ำมากกว่า
ดังนั้นที่นี่เรามีตัวอย่างที่ใช้เต่า
และสมมติว่าเราต้องการที่จะวาดตารางกับเต่าของเรา
วิธีหนึ่งที่จะวาดตาราง
คือการไปข้างหน้าและจากนั้นซ้ายสี่ครั้งที่แตกต่างกัน
ดังนั้นครั้งแรกที่เราตั้งค่าเต่าของเรา
และเราเรียกมันว่าเต่าอเล็กซ์
และจากนั้นเราสร้างสำหรับวงและเรามีตัวแปรห่วงของเรา
และเรามีลำดับที่เรากำลังทำซ้ำมากกว่าซึ่งเป็นรายการสี่รายการ
แต่ที่นี่ภายในของเราสำหรับวง
เราไม่ได้อ้างถึงตัวแปรวงของเราที่ทั้งหมด
แต่เรากำลังใช้ประโยชน์จากความจริงที่ว่าเรากำลังทำซ้ำรหัสนี้สี่
ครั้งเพื่อที่จะสร้างตารางโดยการไปทางซ้ายและไปข้างหน้าสี่ครั้งติดต่อกัน
มันไม่สำคัญว่าสิ่งที่เรากำลังจริงซ้ำมากกว่า
ถ้าเราไม่ได้อ้างอิงตัวแปรวง
ดังนั้นสำหรับตัวอย่างเช่นที่นี่เรากำลังวนลูปมากกว่าร
ายการของสตริงที่เป็นตัวแทนของสีที่แตกต่างกัน
แต่เรายังไม่ได้อ้างถึง
วงตัวแปรของเรา AColor ในใด ๆ ของรหัสภายในของเราสำหรับวง
ดังนั้นเมื่อเราเรียกใช้รหัสของเรา
แล้วเรายังคงได้รับผลเดียวกัน
ซึ่งเป็นตารางที่มีสี่ด้าน
และทุกด้านยังคงเป็นสีดำ
ถ้าเราไม่ต้องการที่จะอ้างอิงตัวแปรวงของเรา
แล้วเราอาจต้องการที่จะพูดอะไรบางอย่างเช่นนี้
ดังนั้นที่นี่เรากำลังอ้างถึง
ตัวแปรวงของเรา AColor โดยการกำหนดสีให้กับเต่าอเล็กซ์ของเรา
ดังนั้นครั้งแรก acolor ได้รับมอบหมายให้เป็นสีเหลืองแล้ว
สีแดงแล้วสีม่วงแล้วสีฟ้า
ดังนั้นผลที่นี่คือการที่ทุกด้านของตารางของเรา
จบลงด้วยการเป็นสีที่แตกต่างกันเพราะครั้งแรกที่เราไปกับสีเหลือง
แล้วสีแดงแล้วสีม่วงแล้วสีฟ้า
ดังนั้นขอตอบคำถามอีกสองสามข้อเกี่ยวกับลูป
ดังนั้นที่นี่เรามีรายการที่มีหนึ่ง,
สอง, สาม, สี่, ห้า, หก,
เจ็ด, แปด, เก้ารายการ
และเรากำลังถามว่าหลายครั้งจะสำหรับวง
ย้ำผ่านคำสั่งต่อไปนี้หรือไม่
ดังนั้นเพราะ CH ได้รับมอบหมายให้ทั้งเก้ารายการครั้งเดียว
แล้วเราควรคาดหวังว่าจะดำเนินการเก้าครั้ง
ดังนั้นคำถามนี้ถามว่า
อย่างไรหลามรู้ว่างบที่มีอยู่ในร่างกายห่วง
ดังนั้นงูหลามเสมอนัดเยื้องของ
งบเพื่อตรวจสอบเพื่อดูว่ามันอยู่ในร่างกายห่วง
ดังนั้นเราสามารถมีมากกว่าหนึ่งบรรทัดในร่างกายห่วง
แม้ว่าหลายตัวอย่างที่เราเดินไปมีเพียงหนึ่งบรรทัด
และวิธีการที่งูหลามรู้ว่าสิ่งที่อยู่ในร่างกายห่วง
คือถ้ามันเยื้องเดียวกันหลังจากที่เราประกาศสำหรับวง
นั่นคือทั้งหมดสำหรับตอนนี้ จนถึงครั้งต่อไป