⏱️ ~9 นาที
การวนลูป (for & while)
ทำซ้ำใน Python ซึ่งมี for ที่ใช้ง่ายกว่าหลายภาษา
ลูปใน Python มี 2 แบบหลัก
for— วนในข้อมูลแบบกลุ่ม หรือวนตามจำนวน (ด้วยrange)while— วนตราบใดที่เงื่อนไขยังเป็นจริง
Python มี for ที่ ใช้ง่ายกว่าหลายภาษา ลองดู
1. for กับ range() — วนตามจำนวน
for i in range(5):
print(i)
# แสดง 0 1 2 3 4
range(5) = สร้างลำดับ 0,1,2,3,4 (เริ่ม 0, ไม่รวม 5)
range แบบระบุช่วง
for i in range(1, 6): # 1 ถึง 5
print(i)
for i in range(0, 10, 2): # 0,2,4,6,8 (ก้านทีละ 2)
print(i)
รูปแบบ: range(start, stop, step)
2. for วนในข้อมูลแบบกลุ่ม
fruits = ["แอปเปิ้ล", "กล้วย", "ส้ม"]
for fruit in fruits:
print(fruit)
# แอปเปิ้ล
# กล้วย
# ส้ม
อ่านเป็นภาษาไทยได้เลย: "สำหรับ fruit แต่ละตัว ใน fruits ทำ..." 🎯
วนใน string ได้ด้วย
for letter in "Hello":
print(letter)
# H e l l o
3. while — วนตามเงื่อนไข
count = 1
while count <= 5:
print(count)
count += 1
# 1 2 3 4 5
ใช้เมื่อ ไม่รู้จำนวนรอบที่แน่นอน
⚠️ ระวัง infinite loop! ถ้าลืม
count += 1โปรแกรมจะวนไม่รู้จบ กด Ctrl + C เพื่อหยุด
ควบคุมลูป
break — หยุดทันที
for i in range(1, 10):
if i == 5:
break
print(i)
# 1 2 3 4 (หยุดก่อนเลข 5)
continue — ข้ามรอบนี้
for i in range(1, 6):
if i == 3:
continue
print(i)
# 1 2 4 5 (ข้ามเลข 3)
enumerate — เอาทั้ง index และค่า
fruits = ["แอปเปิ้ล", "กล้วย", "ส้ม"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
# 0: แอปเปิ้ล
# 1: กล้วย
# 2: ส้ม
ใช้บ่อยเวลาต้องการเลขลำดับไปพร้อมกับค่า
ตัวอย่างจริง: รวมเลข 1-100
total = 0
for i in range(1, 101): # รวม 100 ด้วย ต้องใส่ 101
total += i
print(total) # 5050
ตัวอย่าง: เฉพาะเลขคู่
for i in range(1, 11):
if i % 2 != 0:
continue # ข้ามเลขคี่
print(i)
# 2 4 6 8 10
ฟีเจอร์พิเศษ: else ของลูป
Python มี else ต่อท้ายลูปได้ — ทำเมื่อลูป จบปกติ (ไม่โดน break):
for i in range(5):
print(i)
else:
print("จบลูปแล้ว")
เลือกลูปแบบไหน?
| สถานการณ์ | ใช้ |
|---|---|
| รู้จำนวนรอบ หรือวนในลิสต์ | for |
| มีแค่เงื่อนไขหยุด | while |
| ต้องการ index + ค่า | for + enumerate |
สรุป
| แนวคิด | สรุป |
|---|---|
for x in range(n) | วน 0 ถึง n-1 |
for x in list | วนสมาชิกในลิสต์ |
while | วนตามเงื่อนไข |
break | หยุดลูป |
continue | ข้ามรอบ |
enumerate | ได้ทั้ง index และค่า |
บทหน้า: แพ็กโค้ดให้ใช้ซ้ำด้วย ฟังก์ชัน ใน Python 🧩
อ่านจบแล้ว? ทำเครื่องหมายว่าเสร็จเพื่อบันทึกความคืบหน้า
🧠
แบบทดสอบ
ตอบให้ครบแล้วกด “ตรวจคำตอบ” เพื่อเช็คความเข้าใจ
1. ลูป for ใน Python ใช้ทำอะไรเป็นหลัก?
2. ผลลัพธ์ของ list(range(3)) คือ?
3. คำสั่งใดใช้หยุดลูปทันที?
กำลังโหลด…