หน่วยที่ 2 EP.5: วงล้ออัตโนมัติ (While & For Loop)
  • By Admin
  • 3
  • 7 เม.ย. 2569

หน่วยที่ 2 EP.5: วงล้ออัตโนมัติ (While & For Loop)

จะเขียนโค้ดบรรทัดเดิมซ้ำๆ ไปทำไม? ในเมื่อเรามี

🚀 หน่วยที่ 2 EP.5 วงล้ออัตโนมัติ

While & For Loop สั่งคอมฯ ทำซ้ำ ไม่รู้เหนื่อย!

ลองจินตนาการว่าคุณครูสั่งให้คัดลายมือคำว่า "ฉันจะตั้งใจเรียน" จำนวน 100 ครั้งสิครับ... เมื่อยมือสุดๆ เลยใช่ไหม? แต่สำหรับคอมพิวเตอร์ การทำอะไรซ้ำๆ เป็นเรื่องจิ๊บๆ มาก! ใน EP นี้เราจะมาใช้ "โครงสร้างแบบวนซ้ำ (Loop)" สั่งให้ Python ทำงานน่าเบื่อแทนเราในพริบตาเดียว!

🔄 1. ทำความรู้จักโครงสร้างแบบวนซ้ำ (Repetition)

การวนซ้ำ คือการสั่งให้คอมพิวเตอร์ทำงานชุดเดิมซ้ำไปเรื่อยๆ โดยเราไม่ต้องเขียนโค้ดบรรทัดเดิมหลายๆ ครั้งครับ ใน Python มีลูปหลักๆ อยู่ 2 ชนิด คือ While Loop และ For Loop มาดูความแตกต่างกันครับ

🏃 While Loop (วนซ้ำตามเงื่อนไข)

เปรียบเหมือน "การวิ่งรอบสนามจนกว่าจะเหนื่อย" เราไม่รู้ว่าต้องวิ่งกี่รอบ แต่เรารู้ว่า ตราบใดที่ (While) ยังไม่เหนื่อย ก็จะวิ่งต่อไปครับ ลูปนี้จะทำงานตราบที่เงื่อนไขยังเป็น จริง (True) เสมอ

🚨 ระวังลูปไม่รู้จบ (Infinite Loop)! อย่าลืมอัปเดตค่าตัวแปรเงื่อนไข (เช่น counter += 1) ภายในลูปนะครับ ไม่งั้นเงื่อนไขจะเป็นจริงตลอดไป โปรแกรมจะรันไม่หยุดจนเครื่องค้างได้เลย!
🔢 For Loop (วนซ้ำตามจำนวนรอบ)

เปรียบเหมือน "การวิ่งรอบสนามจำนวน 5 รอบเป๊ะๆ" เรารู้ล่วงหน้าเลยว่าต้องวิ่งกี่รอบ For Loop ใน Python นิยมใช้คู่กับข้อมูลที่เป็น "ลำดับ" (เช่น ข้อความ, ลิสต์) หรือใช้ฟังก์ชัน range() เพื่อกำหนดรอบที่แน่นอนครับ

💻 2. ลองเขียนโค้ดกัน!

มาดูตัวอย่างการสั่งพิมพ์ตัวเลข 0 ถึง 4 ด้วยลูปทั้งสองชนิดกันครับ (อย่าลืมกฎเรื่อง : และ การย่อหน้า Indentation นะ!)

แบบ While Loop

count = 0
while count < 5:
    print("นับ:", count)
    count += 1 # สำคัญมาก! ห้ามลืม!

แบบ For Loop (ใช้ range)

for i in range(5):
    print("นับ:", i)

*ฟังก์ชัน range(5) ใน For Loop จะสร้างลำดับเลข 0, 1, 2, 3, 4 ขึ้นมาทำงานทีละรอบครับ (เริ่มจาก 0 และไม่ถึง 5)

✍️ มินิควิซ ทบทวนความรู้ (EP.5)

มาทดสอบความเป็นนักวนลูปมืออาชีพกัน!

ข้อที่ 1: โครงสร้างแบบวนซ้ำชนิดใด ที่เปรียบได้กับการวิ่งรอบสนามจนกว่าจะเหนื่อย (ไม่รู้รอบแน่นอน)?

ข้อที่ 2: หากเขียน While Loop แล้วลืมอัปเดตค่าตัวแปรเงื่อนไข (เช่น count += 1) ภายในลูป จะส่งผลอย่างไรต่อโปรแกรม?

ข้อที่ 3: คำสั่ง print( 15 // 4 ) จะแสดงผลลัพธ์บนหน้าจอเท่าใด?


แชร์ :

บทเรียนอื่น ๆ