คำสั่งวนซ้ำ For & While Loops

Last updated: January 24, 2026

ลองจินตนาการว่าคุณเป็น Web Developer ที่ต้องดึงรายชื่อสินค้า 100 รายการมาแสดงบนหน้าเว็บ หรือเป็นนักวิเคราะห์ข้อมูลที่ต้องตรวจสอบไฟล์ 1,000 ไฟล์ ถ้าต้องมาเขียนโค้ดทีละบรรทัดคงไม่ไหวแน่

ในภาษา Python มีเครื่องมือที่เรียกว่า Loops หรือ การวนซ้ำ ที่ช่วยให้เราสั่งงานเพียงไม่กี่บรรทัด แต่ให้คอมพิวเตอร์ทำงานซ้ำๆ ได้เป็นหมื่นเป็นแสนครั้งในพริบตาครับ


1. For Loop: การวนซ้ำที่รู้จำนวนรอบแน่นอน

for loop คือพระเอกของ Python เลยครับ เรามักจะใช้มันเมื่อเรา "รู้จำนวนรอบที่แน่นอน" หรือต้องการวนลูปอ่านข้อมูลสมาชิกในกลุ่ม (เช่น อ่านทีละตัวอักษรในข้อความ หรืออ่านทีละค่าใน List)

การใช้ for ร่วมกับ range()

ฟังก์ชัน range(n) จะช่วยสร้างลำดับตัวเลขให้เราวนลูปได้ง่ายๆ ครับ

# วนลูป 5 รอบ (0 ถึง 4)
for i in range(5):
    print(f"รอบที่ {i}")

การวนลูปอ่านข้อความ (String)

msg = "PYTHON"
for char in msg:
    print(f"ตัวอักษร: {char}")

2. While Loop: การวนซ้ำจนกว่าเงื่อนไขจะเปลี่ยน

while loop จะทำงานซ้ำไปเรื่อยๆ ตราบเท่าที่เงื่อนไขยังเป็นจริง (True) เรามักใช้ในกรณีที่เราไม่รู้ว่าต้องวนกี่รอบถึงจะหยุด เช่น การรอให้ผู้ใช้ใส่รหัสผ่านให้ถูกต้อง

count = 1
while count <= 3:
    print(f"นับถอยหลัง... {count}")
    count += 1  # สำคัญมาก! ต้องมีการเปลี่ยนค่าเงื่อนไข

⚠️ ระวัง Infinite Loop: หากคุณลืมบรรทัด count += 1 เงื่อนไขจะไม่มีวันเป็นเท็จ และโปรแกรมจะวนลูปไปตลอดกาลจนเครื่องค้างได้ครับ!


3. ตัวช่วยควบคุมลูป: Break และ Continue

บางครั้งเราต้องการ "หยุด" หรือ "ข้าม" บางรอบในขณะที่ลูปทำงานอยู่ เราจะใช้ 2 คำสั่งนี้ครับ:

  1. break: สั่งให้หยุดลูปทันที (ออกจากลูปไปเลย)
  2. continue: สั่งให้ข้ามรอบนี้ไป แล้วไปเริ่มรอบถัดไปทันที
# ตัวอย่างการใช้ break
for num in range(1, 10):
    if num == 5:
        break  # เจอเลข 5 ปุ๊บ หยุดวนทันที
    print(num)

4. ตารางเปรียบเทียบ For Loop vs While Loop

หัวข้อเปรียบเทียบ For Loop While Loop
การใช้งานหลัก ใช้เมื่อรู้จำนวนรอบที่แน่นอน หรือวนลูปตามลำดับข้อมูล ใช้เมื่อต้องการวนลูปตามเงื่อนไข (จนกว่าจะเป็น False)
ความเสี่ยง โอกาสเกิด Infinite Loop น้อยมาก เสี่ยงเกิด Infinite Loop ถ้าลืมอัปเดตตัวแปรเงื่อนไข
ความนิยม นิยมใช้มากที่สุดใน Python (Pythonic Way) นิยมใช้กับระบบโต้ตอบ (Interactive) หรือเมนูโปรแกรม

5. Workshop: ระบบสุ่มตัวเลข (Guess the Number)

ลองนำ while loop และ if-else มาสร้างเกมสุ่มตัวเลขง่ายๆ กันครับ:

target = 7  # ตัวเลขเป้าหมาย
guess = 0   # ตัวแปรเก็บค่าที่ผู้ใช้ใส่

print("--- เกมทายตัวเลข 1 ถึง 10 ---")

while guess != target:
    guess = int(input("ทายเลขมาซิ: "))

    if guess < target:
        print("น้อยไปหน่อย! ลองใหม่")
    elif guess > target:
        print("มากไปนิด! ลองใหม่")
    else:
        print("🎉 ถูกต้องแล้วครับ!")

สรุป

การใช้งาน Loops คือกุญแจสำคัญที่ทำให้ Python ทรงพลังและทำงานได้รวดเร็วแทนมนุษย์ ไม่ว่าคุณจะวนลูปเพื่อดึงข้อมูลจาก Database หรือวนลูปเพื่อส่งอีเมลหาลูกค้าเป็นพันคน คุณจะได้ใช้ความรู้จากบทนี้อย่างแน่นอนครับ