บทที่ 4: การทำซ้ำ (Loops)
4.1 การใช้ for loop และ while loop
การเขียนโปรแกรมที่มีลูป (Loops) เป็นการทำซ้ำคำสั่งหลาย ๆ ครั้งตามเงื่อนไขที่กำหนดไว้ ลูปช่วยให้โปรแกรมทำงานซ้ำ ๆ โดยไม่ต้องเขียนโค้ดซ้ำ ๆ หลายบรรทัด Python มีลูปที่ใช้บ่อยอยู่สองประเภทคือ for loop และ while loop ซึ่งแต่ละประเภทมีวิธีการทำงานที่แตกต่างกันไปเล็กน้อย
1. for loop
for loop ใช้ในการทำงานซ้ำกับลิสต์ (list), ชุดข้อมูล (range), หรือ object ที่ทำซ้ำได้ (iterable) ลูปนี้จะทำงานตามจำนวนครั้งที่กำหนดไว้ในชุดข้อมูลนั้น ๆ
โครงสร้างของ for loop
for ตัวแปร in ชุดข้อมูล:
# คำสั่งที่จะถูกทำซ้ำ
ตัวอย่างการใช้งาน for loop
# การใช้ for loop กับลิสต์
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
อธิบาย: ลูปนี้จะวนผ่านแต่ละค่าในลิสต์ fruits และพิมพ์ชื่อผลไม้ออกมาทีละตัว
ตัวอย่างการใช้ for loop กับ range()
# การใช้ for loop กับ range
for i in range(5):
print(i)
อธิบาย: range(5) จะสร้างชุดข้อมูลที่ประกอบด้วยตัวเลขตั้งแต่ 0 ถึง 4 ลูปนี้จะทำซ้ำและพิมพ์ตัวเลขแต่ละตัวออกมา
การใช้งาน for loop กับการคำนวณ
# การหาผลรวมของตัวเลขในลิสต์
numbers = [1, 2, 3, 4, 5]
sum_result = 0
for num in numbers:
sum_result += num
print("Sum:", sum_result)
อธิบาย: โปรแกรมนี้จะคำนวณผลรวมของตัวเลขในลิสต์ numbers
2. while loop
while loop ใช้ทำงานซ้ำ ๆ ตามเงื่อนไขที่กำหนด เมื่อเงื่อนไขเป็นจริง (True) ลูปจะทำงานต่อไปเรื่อย ๆ จนกว่าเงื่อนไขจะเป็นเท็จ (False)
โครงสร้างของ while loop
while เงื่อนไข:
# คำสั่งที่จะถูกทำซ้ำ
ตัวอย่างการใช้งาน while loop
# การใช้ while loop
i = 1
while i <= 5:
print(i)
i += 1
อธิบาย: ลูปนี้จะวนซ้ำและพิมพ์ค่า i จาก 1 ถึง 5 โดยลูปจะหยุดเมื่อเงื่อนไข i <= 5 ไม่เป็นจริง
การเปรียบเทียบระหว่าง for และ while loop
- for loop เหมาะสำหรับการทำงานซ้ำที่รู้จำนวนครั้งแน่นอน หรือใช้กับชุดข้อมูลที่สามารถนับได้
- while loop เหมาะสำหรับการทำงานซ้ำตามเงื่อนไขที่ไม่สามารถกำหนดจำนวนรอบที่แน่นอนได้ โดยลูปจะทำงานจนกว่าเงื่อนไขจะเป็นเท็
ตัวอย่างที่ซับซ้อนขึ้น
การใช้ for loop และ while loop ในการทำงานจริง
# การใช้ while loop เพื่อรับข้อมูลจากผู้ใช้จนกว่าจะได้รับข้อมูลที่ถูกต้อง
password = ""
while password != "1234":
password = input("Enter your password: ")
print("Access granted!")
อธิบาย: ลูปนี้จะวนซ้ำเพื่อขอรหัสผ่านจากผู้ใช้เรื่อย ๆ จนกว่าจะได้รับรหัสผ่านที่ถูกต้อง
การใช้ for loop และ break เพื่อหยุดลูป
# หยุดลูปเมื่อเจอค่าที่ต้องการ
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
print("Found 3!")
break # หยุดลูปเมื่อเจอค่า 3
อธิบาย: ลูปจะหยุดทำงานทันทีเมื่อพบค่าที่ต้องการ (3)
การใช้งาน continue ในลูป
คำสั่ง continue ใช้เพื่อข้ามคำสั่งในลูปและเริ่มทำงานใหม่ในรอบถัดไป
# ข้ามการพิมพ์ค่าที่เป็นเลขคู่
for i in range(1, 6):
if i % 2 == 0:
continue # ข้ามค่าที่เป็นเลขคู่
print(i)
อธิบาย: ลูปนี้จะข้ามการพิมพ์ค่าที่เป็นเลขคู่ และจะแสดงเฉพาะเลขคี่เท่านั้น
สรุป
การใช้ for loop และ while loop เป็นวิธีที่มีประสิทธิภาพในการทำงานซ้ำในโปรแกรม Python ซึ่งสามารถช่วยลดการเขียนโค้ดที่ซ้ำซ้อน การเข้าใจการทำงานของลูปทั้งสองประเภทนี้จะช่วยให้โปรแกรมของเรามีความยืดหยุ่นและใช้งานได้ดีในสถานการณ์ที่แตกต่างกัน เช่น การทำงานกับข้อมูลในลิสต์ การทำซ้ำตามเงื่อนไข หรือการวนลูปเพื่อรับค่าจากผู้ใช้