หลักสูตรการพัฒนา Python
บทที่
>
ระดับ

เงื่อนไข
คำสั่ง break และ continue

วัตถุประสงค์

กำจัดวัชพืชในทางเดินระหว่างอาคารโดยใช้เงื่อนไขของลูป

ทางเดินระหว่างอาคารมีวัชพืชขึ้นโตอยู่ รวบรวมวัชพืชทั้งหมดและทิ้งออกโดยใช้ลูป มีวิธีที่คุณสามารถทำให้กระบวนการนี้เป็นอัตโนมัติโดยใช้เงื่อนไขของลูป

สร้างตัวแปรที่ชื่อว่า bag และใช้มันในการเก็บวัชพืชในขณะที่คุณเก็บมันขึ้นมา ใช้ลูป while พร้อมเงื่อนไขเพื่อทำให้กระบวนการเป็นอัตโนมัติ โดยมีวัชพืชทั้งหมดสิบ (10) ต้น

while True: player.move_forward() bag += 1 if bag == 10: break

โดยการตั้งค่าลูป while เป็น True ลูปจะไม่สิ้นสุดลงจนกว่าจะใช้ตัวดำเนินการ break เพื่อปิดลูปในแต่ละครั้งของลูปจะเพิ่มวัชพืชลงในถุงและตรวจสอบจำนวนวัชพืชที่ถูกเก็บขึ้นมาเพื่อที่จะหยุดลูป คำสั่ง if ถูกใช้เพื่อตรวจสอบว่าลูปควรจะ break หรือไม่ โดยมันจะตรวจสอบจำนวนวัชพืชที่อยู่ใน bag และหยุดลูปหากจำนวนที่กำหนดถูกต้อง

หลังจากนำทางผ่านทางเดินแล้ว ใช้ลูป for เพื่อทิ้งวัชพืชลงในภาชนะโดยใช้ฟังก์ชัน place() ที่เครื่องหมาย X จำนวนขั้นตอนระหว่างภาชนะแต่ละอันอาจไม่เท่ากันเพราะมีช่องว่างอยู่ระหว่างกัน โดยใช้ตัวดำเนินการ continue คุณสามารถข้ามรอบของลูปโดยทดสอบเงื่อนไขผ่านคำสั่ง if

for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()

ในโค้ดด้านบน คำสั่ง if ตรวจสอบว่า x ซึ่งเป็นจำนวนรอบของลูป อยู่ที่ค่า 1 หรือไม่ ลูป for นี้ทำงานสาม (3) รอบตามที่กำหนดโดย range() โดยที่ x เริ่มต้นที่ 0 มันจะทำงานที่ค่าตามลำดับ 0, 1, 2 ก่อนที่จะสิ้นสุดลูป เนื่องจากคุณตรวจสอบว่ารอบของลูปอยู่ที่ 1 โค้ดภายใต้ continue จะไม่ทำงานและถูกข้ามไปหากเงื่อนไขนั้นเป็นจริง ด้วยวิธีนี้เราสามารถหลีกเลี่ยงช่องว่างระหว่างภาชนะทั้งสองโดยการข้ามรอบตรงกลาง

เนื่องจากมีกรงสอง (2) อัน ให้ใช้ฟังก์ชัน place() เพื่อทิ้งวัชพืชที่เก็บอยู่ในตัวแปร bag โดยแบ่งจำนวนนั้นออกเท่า ๆ กัน ดังนี้: player.place(bag/2)

เมื่อคุณได้เก็บและวางวัชพืชในตำแหน่งที่ถูกต้องแล้ว ให้ไปยังทางออกที่มีเครื่องหมายดาวเพื่อผ่านด่าน

หนังสือโค้ด