สอนให้โปรแกรมทำงานซ้ำๆ อย่างมีประสิทธิภาพ
• เข้าใจแนวคิดการทำงานแบบวนซ้ำ
• ใช้ for loop สำหรับการวนซ้ำที่รู้จำนวนรอบ
• ใช้ while loop สำหรับการวนซ้ำแบบมีเงื่อนไข
• ประยุกต์ใช้ loop ในการแก้ปัญหาจริง
การทำซ้ำ = ทำกิจกรรมเดิมซ้ำไปซ้ำมา เช่น
• กิน 3 มื้อต่อวัน
• นับเลข 1, 2, 3, 4, 5...
• เล่นเกมจนชนะ
print("Hello") print("Hello") print("Hello") print("Hello") print("Hello")
for i in range(5): print("Hello")
เหมาะสำหรับงานที่มีจุดเริ่มต้นและจุดสิ้นสุดชัดเจน
# รูปแบบพื้นฐาน for ตัวแปร in range(จำนวนรอบ): คำสั่งที่จะทำซ้ำ # ตัวอย่างจริง - นับเลข 1 ถึง 5 for i in range(1, 6): print(f"รอบที่ {i}")
เขียนโค้ดที่พิมพ์ "สวัสดี" 10 ครั้ง
for i in range(3): print(i) # 0, 1, 2
for i in range(2, 5): print(i) # 2, 3, 4
for i in range(0, 10, 2): print(i) # 0, 2, 4, 6, 8
for i in range(5, 0, -1): print(i) # 5, 4, 3, 2, 1
for i in range(1, 6): print(i) # 1, 2, 3, 4, 5
for i in range(1, 13): print(f"2 x {i} = {2 * i}")
วนซ้ำไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จ
# รูปแบบพื้นฐาน while เงื่อนไข: คำสั่งที่จะทำซ้ำ อัปเดตตัวแปร # สำคัญมาก! # ตัวอย่างจริง - นับถอยหลัง count = 5 while count > 0: print(f"เหลือ {count} วินาที") count = count - 1 print("เวลาหมด!")
x = 0 while x < 3: print(x) x += 1 # อัปเดต!
x = 0 while x < 3: print(x) # ไม่มีการอัปเดต x!
count = 5 while count > 0: print(count) count -= 1
password = "" while password != "python": password = input("ใส่รหัส: ") print("ถูกต้อง!")
• รู้จำนวนรอบที่แน่นอน
• นับหรือวนครบทุกตัว
for i in range(1, 6): print(i)
• ไม่รู้จำนวนรอบที่แน่นอน
• รอข้อมูลที่ถูกต้อง
n = 1 while n <= 5: print(n) n += 1
• for loop ใช้กับจำนวนรอบที่แน่นอน
• while loop ใช้กับงานที่ไม่รู้จำนวนรอบ
• range() ช่วยสร้างลำดับตัวเลข
เช่น พิมพ์ตารางสูตรคูณ
for i in range(2, 4): print(f"แม่ {i}") for j in range(1, 4): print(f"{i} x {j} = {i*j}")
หยุด loop ทันที
for i in range(1, 6): if i == 3: break print(i)
ข้ามรอบนี้ไป เริ่มรอบถัดไป
for i in range(1, 6): if i == 3: continue print(i)
ทำงานเมื่อ loop จบเอง ไม่ถูก break
for i in range(3): print(i) else: print("จบ loop")
while True: name = input("กรอกชื่อ: ") if name: break print("กรุณาใส่ชื่อ!") print(f"สวัสดี, {name}!")
ใช้ for loop แสดง 7 x 1 ถึง 7 x 12
ใช้ while รับ input ถ้าไม่อยู่ในช่วง 0-100 ให้ถามซ้ำ
รับ input กว้างและสูง พิมพ์รูปสี่เหลี่ยมจัตุรัสด้วย * (ใช้ลูปซ้อนลูป)