‫ยินดีต้อนรับกลับ.
‫จนถึงตอนนี้ เราได้เรียนรู้ว่าด้วยการวนซ้ำ เราสามารถใช้สี่ได้
‫แต่จริงๆ แล้ว มีอีกวิธีหนึ่งที่เราจะวนซ้ำได้
‫และมันถูกเรียกแทน for loop a while loop
‫และในขณะที่การวนซ้ำนั้นแตกต่างกันเล็กน้อยในสิ่งที่เราพูดในขณะที่มีเงื่อนไขเกิดขึ้น
‫ทำอะไรสักอย่าง.
‫คุณจะเห็นว่ามีความแตกต่างเล็กน้อยที่นี่
‫ตัวอย่างเช่น ฉันสามารถพูดได้ว่าในขณะที่ศูนย์มีค่าน้อยกว่า 50 ให้ทำอะไรบางอย่างหรือฉันสามารถพูดได้เช่น
‫I เท่ากับศูนย์
‫และฉันจะบอกว่าในขณะที่ฉันยังไม่ถึง 50% ฉัน
‫ถ้าผมรันโปรแกรมนี้ คุณคิดว่าจะเกิดอะไรขึ้น?
‫ลองหา
‫ถ้าฉันคลิกเรียกใช้
‫ไม่เป็นไร.
‫คุณเห็นไหม
‫ฉันไม่รู้ว่าคุณจะบอกได้ไหม แต่ตอนนี้ฉันกำลังเลื่อนดูทั้งหมดนี้
‫มันวนลูป วนลูป วนลูป วนลูป วนลูป
‫และคุณเห็นว่าการเขียนโปรแกรมยังคงทำงานอยู่ตามความเป็นจริง
‫ฉันต้องหยุดมัน เพราะสิ่งที่มันทำคือมันวนซ้ำ วนลูป และวนลูป
‫เพราะถ้าเราดูโค้ด ศูนย์จะน้อยกว่า 50 เสมอ
‫สิ่งที่เกิดขึ้นคือในขณะที่สิ่งนี้เป็นความจริง เราพิมพ์มันออกมา
‫ฉันแล้วล่าม Python ก็กลับไปที่บรรทัดที่สองและพูดว่า เฮ้ ศูนย์ยังน้อยกว่า 50 อีกหรือ
‫ใช่.
‫ตกลง.
‫พิมพ์บรรทัดถัดไป
‫เฮ้ ศูนย์ยังน้อยกว่า 50 อีกเหรอ?
‫ใช่.
‫ตกลง.
‫บรรทัดถัดไป พิมพ์
‫และมันก็ดำเนินต่อไป
‫ไปต่อ ไปต่อ
‫นี่คือสิ่งที่เรียกว่าวนซ้ำอนันต์
‫นั่นคือโปรแกรมไม่รู้ว่าจะหยุดเมื่อไหร่
‫ฉันหมายความว่า เรากำลังบอกให้ทำต่อไปชั่วนิรันดร์
‫และฉันมีการป้องกันบางอย่างที่นี่
‫แต่ถ้าคุณทำสิ่งนี้ในโค้ด คุณจะได้ลูปไม่สิ้นสุดนี้จนกว่าโปรแกรมของคุณจะพัง
‫หากคุณรันโค้ดนี้จริงๆ มันจะทำงานต่อไปจนกว่าเครื่องจะไม่มีพลังงานเพียงพออีกต่อไป
‫ทรัพยากรเพียงพอที่จะทำสิ่งนี้ซ้ำแล้วซ้ำอีก
‫ทุกอย่างมีขีดจำกัด จริงไหม?
‫ดังนั้นในขณะที่วนรอบเราต้องระวังให้มาก
‫การวนซ้ำที่ไม่สิ้นสุดนี้อาจเป็นอันตรายได้
‫แล้วเราจะแก้ปัญหานี้ได้อย่างไร?
‫เรามีแนวคิดเกี่ยวกับคำสั่ง break และ break ก็เป็นเพียงแค่คีย์เวิร์ดอื่นใน Python
‫และอย่างที่คุณอาจเดาได้หากฉันคลิกเรียกใช้
‫ดูนั่นสิ
‫มันทำงานเพียงครั้งเดียว
‫ทันทีที่ Python เห็น break มันก็จะพูดว่า เอาล่ะ แยกตัวออกจาก wild loop
‫มันจะไปบรรทัดที่ 5 และจะบอกว่า ไม่มีอะไรเลย โปรแกรมต่างๆ เสร็จเรียบร้อยแล้ว
‫ฉันจะออกจากโปรแกรม
‫อืม.
‫แต่ถ้าฉันต้องการให้มันวนซ้ำ 50 ครั้งล่ะ
‫เราจะแก้ปัญหานั้นได้อย่างไร?
‫คิดเกี่ยวกับมัน
‫เราสามารถพูดง่ายๆ ได้ว่า ฉัน
‫เท่ากับผมบวกหนึ่ง
‫แล้วตรวจสอบให้แน่ใจว่าเราเปลี่ยนสิ่งนี้เป็น I
‫จะเกิดอะไรขึ้นถ้าฉันคลิกเรียกใช้
‫เราหยุด?
‫ที่ 49 เราทำไปแล้ว 50 ครั้ง
‫เราผ่านมันมาได้ 50 ครั้งเพราะเราค่อยๆ ลืมตาขึ้นซ้ำแล้วซ้ำเล่า ทุกครั้งที่เรากลับมาที่วง
‫จะเพิ่มขึ้นทีละครั้ง
‫ทีนี้ ตัวย่อสำหรับสิ่งนี้ที่เราเคยเห็นมาก่อนคือบวก เท่ากับหนึ่ง
‫เพื่อว่าถ้าผมวิ่ง
‫ดูที่สิ่งเดียวกัน
‫ดังนั้นเราจึงสามารถแยกออกจากลูปได้
‫ตราบใดที่เราเปลี่ยนเงื่อนไขให้เป็นเท็จได้
‫ดังนั้นคุณจะเห็นสิ่งนี้เป็นจำนวนมากเช่นกัน
‫ดังนั้นหากต้องการข้ามออกจากวนซ้ำ คุณสามารถเปลี่ยนเงื่อนไขเป็นเท็จหรือแยกออกจากลูปได้
‫ทีนี้ สิ่งที่น่าสนใจอีกอย่างที่เราสามารถทำได้ด้วย a while loop คือเราสามารถมีบล็อกอื่นได้
‫และที่นี่เราสามารถพูดได้ว่าพิมพ์
‫เสร็จไปทุกงาน
‫และถ้าฉันคลิกเรียกใช้ที่นี่
‫ในตอนท้ายสุด
‫ดูงานที่ทำเสร็จแล้ว
‫และนี่ควรอ่านเหมือนภาษาอังกฤษใช่ไหม
‫ในขณะที่ฉันอายุน้อยกว่า 50
‫วนลูปไปเรื่อยๆ ที่นี่
‫และทันทีที่เราไปถึงส่วนสุดท้ายที่ฉันกลายเป็น 50 โดยที่ 50 ไม่น้อยกว่า 50
‫ล่ามภาษาไพทอนกำลังจะพูดว่า เอาล่ะ ฉันไม่สนอะไรทั้งนั้น
‫ไปที่บรรทัดถัดไปและฉันได้รับอย่างอื่น
‫ดังนั้นในกรณีนี้ เราจึงไม่มีอะไรเกิดขึ้นอีก
‫เราสามารถพิมพ์งานได้หมด
‫แต่คุณคงกำลังถามตัวเองว่า อดทนไว้
‫ฉันไม่สามารถ
‫อย่าทำเช่นนี้และตรวจสอบให้แน่ใจว่าการเยื้องของฉันอยู่ที่ส่วนท้าย
‫คลิกเรียกใช้และ.
‫ที่ใช้งานได้ใช่มั้ย?
‫ทำไมฉันถึงอยากเขียน?
‫อื่น ๆ ที่นี่.
‫มีกรณีพิเศษอะไรอีกบ้างที่นี่?
‫มีสิ่งหนึ่งที่เป็นประโยชน์
‫นั่นคือถ้าเราเพิ่ม ตัวอย่างเช่น คำสั่งพักที่นี่
‫และฉันคลิกเรียกใช้
‫คุณจะเห็นว่าคำสั่งของเอลฟ์ไม่พิมพ์ออกมา
‫และนั่นเป็นเพราะว่าบล็อกอื่นจะทำงานก็ต่อเมื่อไม่มีการหยุดพัก
‫นั่นคือถ้าเงื่อนไขของผนังกลายเป็นเท็จ มันก็จะทำต่อไปและทำอย่างอื่น
‫แต่ถ้ามีการพัก มันจะแตกจากสิ่งทั้งหมดนี้และไปที่บรรทัดที่แปด
‫gotcha เล็กน้อยที่นี่ซึ่งคุณจะไม่เห็นบ่อยเกินไปข้างๆ
‫แต่มีกรณีพิเศษอื่นที่ใช้เมื่อคุณต้องการให้แน่ใจว่าจะดำเนินการนี้หรือไม่
‫เฉพาะในกรณีที่ไม่มีคำสั่ง break เฉพาะในกรณีที่ลูปเสร็จสิ้นการทำสิ่งใดก็ตามที่มันทำโดยไม่มีคำสั่ง
‫break
‫หยุดพักและสำรวจในขณะที่วนซ้ำอีกหน่อย