
เขียนโปรแกรมภาษา Python ตอนที่ 138 การใช้ while loop
ใน Python เราสามารถใช้ while
loop เพื่อวนรอบทำงานบางอย่างไปเรื่อย ๆ จนกว่าจะเป็นไปตามเงื่อนไขที่กำหนด
การใช้ while
loop เราต้องสร้างตัวแปรมาไว้เป็นเงื่อนไขเพื่อกำหนดว่าจะจบการวนลูปเมื่อไหร่ ดังตัวอย่าง
count = 1 while count < 10: print(count) count += 1 #ต้องเพิ่มค่าตัวนับขึ้นทุกรอบ ไม่เช่นนั้นลูปจะทำงานไม่รู้จบ
- บรรทัดที่ 1 สร้างตัวแปร
count
ขึ้นมา กำหนดค่าเป็น 1 สำหรับเอาไว้เป็นตัวนับรอบ - บรรทัดที่ 2 ใช้
while
loop วนรบทำงานโดยมีเงื่อนไขว่า ตราบใดที่ตัวแปรcount
ยังมีค่าน้อยกว่า 10 อยู่ ให้วนรอบทำงานไปเรื่อย ๆ - บรรทัดที่ 3 สั่งให้แสดงค่าของตัวแปร
count
ออกทางหน้าจอ - บรรทัดที่ 4 เพิ่มค่าของตัวแปร
count
ขึ้นทีละ 1 ในทุก ๆ รอบที่ทำงาน (ถ้าไม่เพิ่มค่าตัวนับขึ้นเรื่อย ๆ ลูปจะทำงานไม่รู้จบ เพราะไม่รู้ว่าจะต้องหยุดเมื่อไหร่)
ผลลัพธ์ จะได้เลข 1 – 9 เพราะลูปทำงาน 9 รอบ รอบที่ 1-9 ตัวแปร count ยังมีค่าน้อยกว่า 10 อยู่ ลูปจึงทำงานทุกรอบ หลังจากนั้น ตัวแปร count มีค่าเท่ากับ 10 ไม่ตรงตามเงื่อนไข ลูปจึงไม่ทำงาน
1
2
3
4
5
6
7
8
9
ออกจากลูปด้วย break statement
ถ้าต้องการให้ออกจากลูปด้วยเงื่อนไขบางอย่าง เราสามารถใช้ break
statement ร่วมกับคีย์เวิร์ด if
เพื่ออกจากลูปกลางคันได้
count = 1 while count < 10: print(count) if count == 5: break count += 1
- บรรทัดที่ 1 สร้างตัวแปร
count
ขึ้นมา กำหนดค่าเป็น 1 สำหรับเอาไว้เป็นตัวนับรอบ - บรรทัดที่ 2 ใช้
while
loop วนรบทำงานโดยมีเงื่อนไขว่า ตราบใดที่ตัวแปรcount
ยังมีค่าน้อยกว่า 10 อยู่ ให้วนรอบทำงานไปเรื่อย ๆ - บรรทัดที่ 3 สั่งให้แสดงค่าของตัวแปร
count
ออกทางหน้าจอ - บรรทัดที่ 4-5 ในทุก ๆ รอบ ให้ตรวจสอบว่าตัวแปร
count
มีค่าเท่ากับ 5 หรือยัง ถ้าตัวแปรcount
มีค่าเท่ากับ 5 แล้ว สั่งให้ออกจากลูปด้วยคำสั่งbreak
โดยไม่สนใจว่าลูปทำงานครบทุกรอบแล้วหรือยัง - บรรทัดที่ 6 เพิ่มค่าของตัวแปร
count
ขึ้นทีละ 1 ในทุก ๆ รอบที่ทำงาน
ผลลัพธ์ จะได้ตัวเลข 1-5 เพราะมีคำสั่งให้ออกจากลูปเมื่อทำงานครบ 5 รอบ
1
2
3
4
5
ข้ามรอบปัจจุบันไปทำงานในรอบถัดไปด้วย continue statement
เราสามารถสั่งให้ข้ามการทำงานในรอบใด ๆ แล้วข้ามไปทำงานในรอบถัดไปได้เลย โดยใช้ continue
statement
count = 0 while count < 10: count += 1 if count == 5: continue print(count)
- บรรทัดที่ 1 สร้างตัวแปร
count
ขึ้นมา กำหนดค่าเป็น 0 สำหรับเอาไว้เป็นตัวนับรอบ - บรรทัดที่ 2 ใช้
while
loop วนรบทำงานโดยมีเงื่อนไขว่า ตราบใดที่ตัวแปรcount
ยังมีค่าน้อยกว่า 10 อยู่ ให้วนรอบทำงานไปเรื่อย ๆ - บรรทัดที่ 3 เพิ่มค่าของตัวแปร
count
ขึ้นทีละ 1 ในทุก ๆ รอบที่ทำงาน - บรรทัดที่ 4 ตรวจสอบว่าตัวแปร
count
มีค่าเท่ากับ 5 หรือไม่ - บรรทัดที่ 5 ถ้าเงื่อนไขเป็นไปตามที่ตรวจสอบในบรรทัดที่ 4 ให้ข้ามการทำงานในรอบนี้ไปรอบต่อไปเลย
- บรรทัดที่ 6 สั่งให้แสดงค่าของตัวแปร
count
ออกทางหน้าจอ
ผลลัพธ์ จะได้ตัวเลข 1-10 แต่ไม่มีเลข 5 เพราะรอบที่ตัวแปร count
มีค่าเท่ากับ 5 ถูกข้ามไป
1
2
3
4
6
7
8
9
10
การใช้ else statement ร่วมกับ while loop
เราสามารถสั่งให้มีการทำงานอย่างใดอย่างหนึ่งหลังจาก while
loop หยุดทำงานตามเงื่อนไขที่กำหนดแล้ว โดยการใช้ else
statement ดังตัวอย่าง
count = 1 while count < 10: print(count) count += 1 else: print("ตอนนี้ loop หยุดทำงานแล้ว")
- บรรทัดที่ 5-6 เมื่อ
while
loop หยุดทำงานตามเงื่อนไข จะมาทำงานที่คำสั่งนี้ต่อ
ผลลัพธ์
1
2
3
4
5
6
7
8
9
ตอนนี้ loop หยุดทำงานแล้ว