ทั้งหมดเกี่ยวกับ Python While Loop พร้อมตัวอย่าง

ทั้งหมดเกี่ยวกับ Python While Loop พร้อมตัวอย่าง

โหนดต้นทาง: 3091323

บทนำ

while loop เป็นคำสั่งควบคุมพื้นฐานใน Python ที่ช่วยให้คุณสามารถรันบล็อคโค้ดซ้ำ ๆ ตราบใดที่เงื่อนไขบางอย่างเป็นจริง โดยให้วิธีการทำงานที่ซ้ำๆ โดยอัตโนมัติและวนซ้ำตามลำดับของค่า บทความนี้จะสำรวจไวยากรณ์ การใช้งาน และแอปพลิเคชันต่างๆ ของ while loop ใน Python

Python ในขณะที่วนซ้ำ

สารบัญ

ไวยากรณ์และโครงสร้างของ While Loop

ไวยากรณ์ของ while loop ใน Python เป็นดังนี้:

while condition:
    # code to be executed

เงื่อนไขคือนิพจน์บูลีนที่กำหนดว่าการวนซ้ำควรดำเนินต่อไปหรือสิ้นสุด หากเงื่อนไขถูกพิจารณาว่าเป็นจริง บล็อกโค้ดภายในลูปจะถูกดำเนินการซ้ำๆ เมื่อเงื่อนไขกลายเป็นเท็จ ลูปจะออก และโปรแกรมจะดำเนินการต่อด้วยคำสั่งถัดไปหลังจากการวนซ้ำ

การใช้งานพื้นฐานและตัวอย่าง

เรามาเริ่มด้วยตัวอย่างง่ายๆ เพื่อทำความเข้าใจการใช้งานพื้นฐานของ while loop สมมติว่าเราต้องการพิมพ์ตัวเลขตั้งแต่ 1 ถึง 5 เราสามารถทำได้โดยใช้การวนซ้ำ while ดังที่แสดงด้านล่าง:

num = 1
while num <= 5:
    print(num)
    num += 1

เอาท์พุต

1

2

3

4

5

ในตัวอย่างนี้ เราเริ่มต้นตัวแปร `num` เป็น 1 การวนซ้ำ while จะดำเนินต่อไปหาก `num` น้อยกว่าหรือเท่ากับ 5 ภายในลูป เราจะพิมพ์ค่า `num` จากนั้นเพิ่มขึ้น 1 โดยใช้ `+=` โอเปอเรเตอร์ กระบวนการนี้จะทำซ้ำจนกระทั่ง `num` กลายเป็น 6 เมื่อเงื่อนไขกลายเป็นเท็จ และการวนซ้ำสิ้นสุดลง

การควบคุมโฟลว์ด้วยคำสั่งควบคุมลูป

Python มีคำสั่งควบคุมลูปสามคำสั่ง 'break', 'continue' และ' pass, ' เพื่อให้คุณสามารถควบคุมการไหลของลูป while

คำสั่ง "หยุด"

คำสั่ง `break` ใช้เพื่อออกจากลูปก่อนเวลาอันควร แม้ว่าเงื่อนไขลูปจะยังคงเป็นจริงก็ตาม มักใช้เมื่อตรงตามเงื่อนไขที่กำหนด และคุณต้องการยุติการวนซ้ำทันที นี่คือตัวอย่าง:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

เอาท์พุต

1

2

3

4

5

ในตัวอย่างนี้ การวนซ้ำจะสิ้นสุดลงเมื่อ `num` กลายเป็น 6 เนื่องจากเราใช้คำสั่ง `break` ภายในเงื่อนไข if ด้วยเหตุนี้จึงพิมพ์เฉพาะตัวเลขตั้งแต่ 1 ถึง 5 เท่านั้น

คำสั่ง "ดำเนินการต่อ"

คำสั่ง 'ดำเนินการต่อ' ใช้เพื่อข้ามบล็อกโค้ดที่เหลือภายในลูปและย้ายไปยังการวนซ้ำครั้งถัดไป ซึ่งจะมีประโยชน์เมื่อคุณต้องการข้ามค่าหรือเงื่อนไขบางอย่างและดำเนินการวนซ้ำครั้งถัดไป นี่คือตัวอย่าง:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

เอาท์พุต

1

2

4

5

ในตัวอย่างนี้ การวนซ้ำจะข้ามค่า 3 เนื่องจากเราใช้คำสั่ง 'ดำเนินการต่อ' ภายในเงื่อนไข if เป็นผลให้หมายเลข 3 ไม่ถูกพิมพ์ และการวนซ้ำจะดำเนินต่อไปในการวนซ้ำครั้งถัดไป

คำชี้แจง "ผ่าน"

คำสั่ง `pass` เป็นตัวสำรองเมื่อคุณไม่ต้องการทำอะไรในลูป มักใช้เป็นตัวยึดตำแหน่งชั่วคราวในระหว่างการพัฒนาหรือเมื่อคุณต้องการสร้างลูปว่าง นี่คือตัวอย่าง:

num = 1
while num <= 5:
    pass
    num += 1

ในตัวอย่างนี้ คำสั่ง `pass` ไม่ได้ทำอะไรเลย และการวนซ้ำจะเพิ่มค่า `num` จนกระทั่งกลายเป็น 6

กรณีการใช้งานและแอปพลิเคชันทั่วไป

ในขณะที่ลูปมีแอพพลิเคชั่นมากมายใน Python มาสำรวจกรณีการใช้งานทั่วไปบางส่วนกัน:

วนซ้ำจนกว่าจะตรงตามเงื่อนไข

ในขณะที่ลูปมักใช้เมื่อคุณต้องการวนซ้ำจนกว่าจะตรงตามเงื่อนไขที่กำหนด ตัวอย่างเช่น เราต้องการหากำลังแรกของ 2 ที่มากกว่า 1000 เราสามารถใช้การวนซ้ำ while เพื่อให้ได้สิ่งนี้:

num = 1
while num <= 1000:
    num *= 2
print(num)

เอาท์พุต

1024

ในตัวอย่างนี้ การวนซ้ำจะดำเนินต่อไปจนกระทั่ง `num` เกิน 1000 สำหรับการวนซ้ำแต่ละครั้ง `num` จะถูกคูณด้วย 2 และค่าสุดท้ายจะถูกพิมพ์ออกมา

การตรวจสอบการป้อนข้อมูลของผู้ใช้

ในขณะที่ลูปมีประโยชน์สำหรับการตรวจสอบอินพุตของผู้ใช้และทำให้แน่ใจว่าอินพุตนั้นตรงตามเกณฑ์ที่กำหนด ตัวอย่างเช่น เราต้องการแจ้งให้ผู้ใช้ป้อนจำนวนเต็มบวก เราสามารถใช้ while loop เพื่อขออินพุตจนกว่าจะป้อนจำนวนเต็มที่ถูกต้องซ้ำๆ:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

ในตัวอย่างนี้ การวนซ้ำจะดำเนินต่อไปเรื่อยๆ จนกว่าจะป้อนจำนวนเต็มบวกที่ถูกต้อง บล็อก "ลองยกเว้น" จะจัดการกับข้อผิดพลาดที่อาจเกิดขึ้นเมื่อแปลงอินพุตเป็นจำนวนเต็ม

การสร้างลูปไม่มีที่สิ้นสุด

ในขณะที่ลูปสามารถใช้เพื่อสร้างลูปไม่สิ้นสุด ซึ่งจะดำเนินต่อไปอย่างไม่มีกำหนดจนกว่าจะตรงตามเงื่อนไขที่กำหนด ตัวอย่างเช่น เรามาสร้างวงวนไม่สิ้นสุดง่ายๆ ที่พิมพ์ว่า “Hello, World!” ซ้ำแล้วซ้ำเล่า:

while True:
    print("Hello, World!")

ในตัวอย่างนี้ เงื่อนไขการวนซ้ำจะเป็น True เสมอ ดังนั้นการวนซ้ำจะดำเนินต่อไปอย่างไม่มีกำหนด หากต้องการยุติการวนซ้ำ คุณสามารถใช้คำสั่ง 'break' หรือขัดจังหวะการทำงานของโปรแกรมได้

การวนซ้ำแบบไม่มีที่สิ้นสุดอาจมีประโยชน์ในบริบทของระบบการตรวจสอบหรือการบันทึกแบบเรียลไทม์ ลองนึกภาพสถานการณ์ที่คุณต้องตรวจสอบระบบหรือเครือข่ายอย่างต่อเนื่องเพื่อดูเหตุการณ์หรือการเปลี่ยนแปลงเฉพาะและบันทึกข้อมูล สามารถใช้วงวนไม่สิ้นสุดเพื่อตรวจสอบเงื่อนไขเหล่านี้และดำเนินการที่เหมาะสมอย่างต่อเนื่อง

การใช้ Game Loop

ในขณะที่ลูปมักใช้ในการพัฒนาเกมเพื่อนำลูปของเกมไปใช้ ซึ่งควบคุมการไหลของเกมและจัดการอินพุตของผู้ใช้ โดยทั่วไป Game Loop จะประกอบด้วยองค์ประกอบหลักสามส่วน ได้แก่ การอัปเดตสถานะของเกม การเรนเดอร์กราฟิกเกม และการจัดการอินพุตของผู้ใช้ นี่เป็นตัวอย่างง่ายๆ:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

ในตัวอย่างนี้ การวนซ้ำจะดำเนินต่อไปตราบใดที่ตัวแปร `game_running` เป็น True ภายในลูป คุณจะต้องอัปเดตสถานะของเกม เรนเดอร์กราฟิกเกม และจัดการอินพุตของผู้ใช้ กระบวนการนี้จะเกิดขึ้นซ้ำจนกว่าเกมจะจบลงหรือผู้เล่นเลือกที่จะออก

อ่านเพิ่มเติม: บทช่วยสอน Python ฉบับสมบูรณ์เพื่อเรียนรู้วิทยาศาสตร์ข้อมูลตั้งแต่เริ่มต้น

ซ้อนกันในขณะที่วนรอบและวนซ้ำซ้อน

หลาม ช่วยให้คุณสามารถซ้อน while ลูปได้ ซึ่งหมายความว่าคุณสามารถมี while วนซ้ำภายใน while อื่นได้ สิ่งนี้มีประโยชน์เมื่อคุณต้องการทำงานซ้ำๆ ภายในงานซ้ำๆ นี่คือตัวอย่าง:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

เอาท์พุต

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

ในตัวอย่างนี้ เรามีลูป while ภายนอกที่วนซ้ำตั้งแต่ 1 ถึง 3 และลูป while ภายในที่วนซ้ำจาก 1 ถึง 3 สำหรับการวนซ้ำลูปภายนอกแต่ละครั้ง คำสั่งพิมพ์ภายในลูปด้านในจะแสดงค่าของตัวแปรลูปทั้งสอง

เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ While Loop

แม้ว่าลูปจะเป็นโครงสร้างที่ทรงพลัง แต่ก็อาจมีแนวโน้มที่จะเกิดข้อผิดพลาดได้หากใช้ไม่ถูกต้อง ต่อไปนี้เป็นเคล็ดลับและแนวทางปฏิบัติที่ดีที่สุดที่ควรคำนึงถึงเมื่อใช้ while loops:

การเริ่มต้นตัวแปรอย่างถูกต้อง

ก่อนที่จะเข้าสู่ลูป while ให้เตรียมใช้งานตัวแปรลูปใดๆ ให้เป็นค่าเริ่มต้น เพื่อให้แน่ใจว่าเงื่อนไขของลูปได้รับการประเมินอย่างถูกต้องและป้องกันพฤติกรรมที่ไม่คาดคิด ตัวอย่างเช่น:

count = 0
while count < 10:
    print(count)
    count += 1

ในตัวอย่างนี้ เราเริ่มต้นตัวแปร 'นับ' เป็น 0 ก่อนที่จะเข้าสู่ลูป

รับรองการยุติลูป

เพื่อหลีกเลี่ยงการวนซ้ำไม่รู้จบ ตรวจสอบให้แน่ใจว่าเงื่อนไขการวนซ้ำจะกลายเป็นเท็จในที่สุด ซึ่งสามารถทำได้โดยการอัปเดตตัวแปรลูปหรือใช้คำสั่งควบคุมลูปเช่น "break" ตัวอย่างเช่น:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

ในตัวอย่างนี้ การวนซ้ำจะสิ้นสุดลงเมื่อ `num` กลายเป็น 6 เนื่องจากคำสั่ง `break`

หลีกเลี่ยงการวนซ้ำไม่สิ้นสุด

โปรดใช้ความระมัดระวังเมื่อใช้ while เพื่อหลีกเลี่ยงการสร้างลูปที่ไม่สิ้นสุด การวนซ้ำแบบไม่มีที่สิ้นสุดอาจทำให้โปรแกรมหยุดทำงานและใช้ทรัพยากรระบบมากเกินไป ตรวจสอบเงื่อนไขลูปของคุณอีกครั้งเสมอ และให้แน่ใจว่าเงื่อนไขเหล่านั้นอาจเป็นเท็จได้ในบางจุด

การเขียนโค้ดที่อ่านได้และบำรุงรักษาได้

ในขณะที่ลูปอาจซับซ้อนและเข้าใจยากหากเขียนไม่ถูกต้อง ใช้ชื่อตัวแปรที่มีความหมาย เพิ่มความคิดเห็นเพื่ออธิบายวัตถุประสงค์ของลูป และแบ่งงานที่ซับซ้อนออกเป็นงานย่อยย่อยๆ ทำให้โค้ดของคุณสามารถอ่านและบำรุงรักษาได้มากขึ้น

เทคนิคและเทคนิคขั้นสูง

ในขณะที่ลูปสามารถนำมาใช้ในวิธีขั้นสูงเพื่อให้บรรลุงานเฉพาะได้ ต่อไปนี้เป็นเทคนิคและลูกเล่นขั้นสูงบางส่วน:

วนซ้ำกับคำสั่งอื่น

ใน Python คุณสามารถใช้คำสั่ง else กับการวนซ้ำ while เพื่อดำเนินการบล็อกโค้ดเมื่อเงื่อนไขการวนซ้ำกลายเป็นเท็จ อีกบล็อกหนึ่งจะถูกดำเนินการก็ต่อเมื่อการวนซ้ำเสร็จสิ้นตามปกติโดยไม่มีคำสั่งแบ่ง นี่คือตัวอย่าง:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

เอาท์พุต

1

2

3

4

5

วนซ้ำเสร็จแล้ว

ในตัวอย่างนี้ บล็อก else จะถูกดำเนินการหลังจากการวนซ้ำเสร็จสิ้นตามปกติ

การใช้ While Loops กับรายการและสตริง

ในขณะที่ลูปสามารถใช้เพื่อวนซ้ำรายการและสตริงโดยใช้ตัวแปรดัชนี นี่คือตัวอย่าง:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

เอาท์พุต

แอปเปิล

กล้วย

เชอร์รี่

ในตัวอย่างนี้ ลูป while จะวนซ้ำองค์ประกอบของรายการ "ผลไม้" โดยใช้ตัวแปรดัชนี

อ่านเพิ่มเติม: ทุกสิ่งที่คุณควรรู้เกี่ยวกับโครงสร้างข้อมูลในตัวใน Python – คู่มือสำหรับผู้เริ่มต้น!

เปรียบเทียบกับโครงสร้างการวนซ้ำอื่น ๆ ใน Python

ในขณะที่ลูปเป็นเพียงหนึ่งในโครงสร้างการวนซ้ำที่มีอยู่ใน Python ลองเปรียบเทียบ while กับ for loops และการเรียกซ้ำ:

ในขณะที่ลูปกับสำหรับลูป

แม้ว่าทั้งลูปและลูปจะใช้สำหรับการวนซ้ำ แต่ก็มีกรณีการใช้งานที่แตกต่างกัน แม้ว่าลูปจะมีความยืดหยุ่นมากกว่าและสามารถจัดการกับเงื่อนไขที่ซับซ้อนได้ ในขณะที่ลูปจะเหมาะสำหรับการวนซ้ำตามลำดับของค่ามากกว่า แม้ว่าการวนซ้ำจะมีประโยชน์เมื่อคุณไม่ทราบจำนวนการวนซ้ำที่แน่นอนล่วงหน้าหรือจำเป็นต้องคำนวณที่ซับซ้อน การวนซ้ำมีประโยชน์เมื่อคุณต้องการวนซ้ำลำดับของค่า เช่น รายการหรือสตริง

ในขณะที่ลูปกับการเรียกซ้ำ

การเรียกซ้ำเป็นเทคนิคที่ฟังก์ชันเรียกตัวเองเพื่อแก้ปัญหา สามารถใช้เพื่อทำงานซ้ำๆ คล้ายกับ while loop ได้ แต่ก็มีความแตกต่างอยู่บ้าง ในขณะที่ลูปจะเหมาะสมกว่าสำหรับงานวนซ้ำซึ่งมีเงื่อนไขการสิ้นสุดที่ชัดเจนและต้องดำเนินการวนซ้ำตามจำนวนคงที่ การเรียกซ้ำเหมาะสมกว่าสำหรับการแก้ปัญหาที่แบ่งออกเป็นปัญหาย่อยเล็กๆ เช่น การค้นหา การเรียงลำดับ และอัลกอริธึมการแวะผ่านต้นไม้

สรุป

ในบทความนี้ เราได้สำรวจแนวคิดของ while loop ใน Python เราได้เรียนรู้เกี่ยวกับไวยากรณ์ การใช้งานพื้นฐาน และแอปพลิเคชันต่างๆ นอกจากนี้เรายังได้กล่าวถึงเคล็ดลับ แนวทางปฏิบัติที่ดีที่สุด ข้อผิดพลาดทั่วไป และเทคนิคขั้นสูงในการใช้ while loop สุดท้ายนี้ เราเปรียบเทียบ while loop กับโครงสร้างการวนซ้ำอื่นๆ ใน Python ด้วยความรู้นี้ คุณจะสามารถใช้ while ลูปเพื่อทำงานที่ซ้ำๆ โดยอัตโนมัติและวนซ้ำลำดับของค่าในโปรแกรม Python ของคุณได้อย่างมีประสิทธิภาพ

ปลดล็อกพลังของ AI และ ML Excellence! ลงทะเบียนตอนนี้ในของเรา โปรแกรม AI & ML BlackBelt Plus ที่ได้รับการรับรอง และยกระดับทักษะของคุณสู่ระดับใหม่ อย่าพลาดโอกาสที่จะเชี่ยวชาญเทคโนโลยีใหม่ล่าสุด – เปลี่ยนอาชีพของคุณวันนี้!

นอกจากนี้ หากคุณกำลังมองหาหลักสูตร Python ออนไลน์ ลองสำรวจ – ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Python วันนี้!

ประทับเวลา:

เพิ่มเติมจาก การวิเคราะห์ วิทยา