Kodokon kodokon.com

ลูป: for, while, break และ continue

ทำคำสั่งซ้ำด้วย for และ while แล้วควบคุมลูปของคุณด้วย range, break และ continue

8 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

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

PYTHON
for number in range(5):
    print(number)
แสดงตัวเลขตั้งแต่ 0 ถึง 4 บรรทัดละหนึ่งตัว

range ยังรับจุดเริ่มต้นได้ด้วย range(1, 6) ให้ผลเป็น 1, 2, 3, 4, 5 ส่วนลูป while จะทำบล็อกของมันซ้ำ ตราบเท่าที่เงื่อนไขเป็นจริง คุณจะใช้มันเมื่อไม่ทราบล่วงหน้าว่าจะมีกี่รอบ ข้อควรระวัง บล็อกต้องทำให้เงื่อนไขเปลี่ยนแปลงไป มิฉะนั้นลูปจะไม่มีวันหยุด

PYTHON
countdown = 3
while countdown > 0:
    print(countdown)
    countdown = countdown - 1
print("Go!")
แสดงผล 3, 2, 1 แล้วก็ "Go!" ค่า countdown ลดลงในทุก ๆ รอบ

มีคำสงวนสองคำที่ให้คุณควบคุมลูปจากภายใน ได้แก่ break ซึ่ง ออกจากลูปทันที และ continue ซึ่ง ข้ามไปยังรอบถัดไป โดยไม่รันส่วนที่เหลือของบล็อก ในตัวอย่างข้างล่างนี้ % ให้เศษของการหาร ดังนั้น number % 2 == 0 จึงเป็นการทดสอบว่าตัวเลขเป็นเลขคู่หรือไม่

PYTHON
for number in range(10):
    if number == 5:
        break
    if number % 2 == 0:
        continue
    print(number)
แสดงผล 1 แล้วก็ 3 เลขคู่ถูกข้ามไป และลูปหยุดที่ 5

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. บล็อกของ for i in range(3): ทำงานกี่ครั้ง?
    • 2 ครั้ง
    • 3 ครั้ง
    • 4 ครั้ง
  2. คำสงวน break ทำอะไรในลูป?
    • มันหยุดลูปไว้ชั่วคราว
    • มันออกจากลูปทันที
    • มันเริ่มลูปใหม่ตั้งแต่ต้น
    • มันข้ามไปยังรอบถัดไป
  3. จะเกิดอะไรขึ้นถ้าเงื่อนไขของ while เป็นจริงตลอดไป?
    • ลูปจะไม่มีวันหยุด
    • Python แก้ไขโปรแกรมให้โดยอัตโนมัติ
    • ลูปทำงานเพียงครั้งเดียว