บทที่ 10 คำสั่ง While
บทที่ 10 คำสั่ง While
คำสั่ง while ในภาษา Python
คำสั่ง while เป็นหนึ่งในคำสั่งวนซ้ำ (loop) ที่ใช้ในภาษา Python เพื่อให้รันชุดคำสั่งในบล็อกนั้นซ้ำไปเรื่อยๆ ตราบใดที่เงื่อนไข (condition) ที่กำหนดไว้เป็นจริง (True) เมื่อเงื่อนไขเป็นเท็จ (False) การวนซ้ำจะหยุดทำงาน
while เงื่อนไข:
# ชุดคำสั่งที่ต้องการให้วนซ้ำ
คำสั่งที่ 1
คำสั่งที่ 2
...
ตรวจสอบเงื่อนไข: โปรแกรมจะตรวจสอบว่าเงื่อนไข (condition) ที่กำหนดไว้ในคำสั่ง while เป็นจริงหรือไม่
รันชุดคำสั่ง: ถ้าเงื่อนไขเป็นจริง (True) โปรแกรมจะรันชุดคำสั่งที่อยู่ภายใต้บล็อก while
วนซ้ำ: หลังจากรันชุดคำสั่งเสร็จแล้ว โปรแกรมจะกลับไปตรวจสอบเงื่อนไขอีกครั้ง
หยุดวนซ้ำ: การวนซ้ำจะหยุดเมื่อเงื่อนไขเป็นเท็จ (False)
ตัวอย่างที่ 1: การนับจำนวนจาก 1 ถึง 5
i = 1
while i <= 5:
print(i)
i += 1 # เพิ่มค่า i ทีละ 1
การทำงาน:
เริ่มต้นที่ i = 1
while i <= 5 จะตรวจสอบว่า i มีค่าน้อยกว่าหรือเท่ากับ 5 หรือไม่
ถ้าใช่ (True) ให้รันคำสั่ง print(i) และเพิ่มค่า i ทีละ 1
การวนซ้ำจะเกิดขึ้นจนกว่า i จะมากกว่า 5 ซึ่งทำให้เงื่อนไข i <= 5 เป็นเท็จ (False)
ตัวอย่างที่ 2: การคำนวณผลรวมของเลขตั้งแต่ 1 ถึง 100
sum = 0
i = 1
while i <= 100:
sum += i # บวกค่า i เข้ากับผลรวม
i += 1 # เพิ่มค่า i ทีละ 1
print("ผลรวมของเลขตั้งแต่ 1 ถึง 100 คือ:", sum)
การทำงาน:
เริ่มต้นที่ sum = 0 และ i = 1
ในแต่ละรอบของการวนซ้ำ while จะเพิ่มค่า i เข้าไปในตัวแปร sum และเพิ่มค่า i ทีละ 1
การวนซ้ำจะดำเนินการไปเรื่อยๆ จนกระทั่ง i มากกว่า 100
ตัวอย่างที่ 3: วนซ้ำเพื่อรับค่าอินพุตจากผู้ใช้จนกว่าจะได้คำว่า "stop"
command = ""
while command.lower() != "stop":
command = input("กรุณาใส่คำสั่ง (พิมพ์ 'stop' เพื่อหยุด): ")
print(f"คุณพิมพ์: {command}")
การทำงาน:
โปรแกรมจะรับค่าอินพุตจากผู้ใช้ และแสดงคำที่ผู้ใช้พิมพ์
การวนซ้ำจะดำเนินต่อไปจนกว่าผู้ใช้จะพิมพ์คำว่า "stop"
break: ใช้เพื่อหยุดการวนซ้ำทันที
continue: ใช้เพื่อข้ามการทำงานของคำสั่งที่เหลือในบล็อกและไปตรวจสอบเงื่อนไขของ while ต่อไป
ตัวอย่างที่ 4: ใช้คำสั่ง break
i = 1
while i <= 10:
if i == 5:
break # หยุดการวนซ้ำเมื่อ i เท่ากับ 5
print(i)
i += 1
การทำงาน:
โปรแกรมจะพิมพ์ค่า i ตั้งแต่ 1 ถึง 4
เมื่อ i เท่ากับ 5 จะหยุดการวนซ้ำทันทีด้วยคำสั่ง break
ตัวอย่างที่ 5: ใช้คำสั่ง continue
i = 0
while i < 5:
i += 1
if i == 3:
continue # ข้ามการทำงานในรอบนี้เมื่อ i เท่ากับ 3
print(i)
การทำงาน:
โปรแกรมจะพิมพ์ค่า i เป็น 1, 2, 4, 5
เมื่อ i เท่ากับ 3 คำสั่ง continue จะทำให้โปรแกรมข้ามการพิมพ์ค่า i แต่เพิ่มค่า i ไปเรื่อยๆ
ลูปไม่รู้จบ: ระวังไม่ให้เกิดลูปที่ไม่มีที่สิ้นสุด โดยต้องมีเงื่อนไขที่ทำให้ลูปหยุดทำงานได้ เช่น มีการเปลี่ยนแปลงค่าตัวแปรภายในบล็อกคำสั่ง หรือมีการใช้คำสั่ง break
ประสิทธิภาพ: ควรระวังการใช้งานคำสั่ง while ที่มีการวนซ้ำมากเกินไป อาจทำให้โปรแกรมทำงานช้า
คำสั่ง while ในภาษา Python เป็นเครื่องมือที่มีประโยชน์ในการควบคุมการทำงานที่ต้องการให้เกิดซ้ำๆ โดยใช้เงื่อนไขเป็นตัวกำหนดการทำงาน การใช้งานอย่างระมัดระวังจะช่วยให้สามารถเขียนโปรแกรมที่มีประสิทธิภาพและเข้าใจง่ายได้
แบบฝึกหัดที่ 1
ข้อ 1 เขียนคำสั่ง While แสดงตัวเลขตามรูป
123456789
123456789
123456789
123456789
ข้อ 2 เขียนคำสั่ง While แสดงตัวเลขตามรูป
1
12
123
1234
123456
1234567
12345678
123456789