© Maria Vonotna/Shutterstock.com
วันนี้ ได้เวลาตรวจสอบแอตทริบิวต์ดั้งเดิมของ Python อีกหนึ่งรายการ ในขณะที่ Loops เป็นเครื่องมือที่มีค่าที่สุดสำหรับโปรแกรมเมอร์และเป็นคุณสมบัติพื้นฐานสำหรับนักพัฒนาทุกคน
ในบทความนี้ เราวางแผนที่จะทบทวนทุกแนวคิดที่จำเป็นในการทำความเข้าใจว่า while Loops ทำงานอย่างไร นอกจากนี้ เราจะแสดงตัวอย่างโค้ดบางส่วนเพื่อให้คุณเห็นภาพที่ชัดเจนยิ่งขึ้นว่าเกิดอะไรขึ้น แม้ว่าลูปจะเป็นแนวคิดที่ง่าย คุณจึงไม่มีปัญหาในการทำความเข้าใจ
While Loops คืออะไร
While Loops เป็นวิธีการวนซ้ำของโค้ด แม้ว่าลูปจะเป็นลูปประเภทหนึ่ง แต่ก็มีประเภทอื่นๆ อยู่เช่นกัน โดยมีแนวคิดที่แตกต่างกันเล็กน้อย การวนซ้ำหมายถึงการเรียกใช้คำสั่งรหัสตามจำนวนครั้งที่กำหนดหรือจนกว่าจะตรงตามเงื่อนไข เพียงแค่จำไว้สำหรับตอนนี้
เมื่อการวนซ้ำเกิดขึ้นตามจำนวนครั้งที่กำหนด จะเรียกว่าการวนซ้ำที่แน่นอน มิฉะนั้น เราเรียกว่าการวนซ้ำแบบไม่มีกำหนด
ในขณะที่ลูปอยู่ในหมวดหมู่การวนซ้ำแบบไม่มีกำหนด ทำไม เนื่องจากจนกว่าจะถึงเงื่อนไขสุดท้าย โค้ดจะยังคงวนซ้ำและรันโค้ดต่อไป
นั่นคือทั้งหมดที่คุณต้องรู้ในตอนนี้ มาดูตัวอย่างโค้ดพื้นฐานและทบทวนไวยากรณ์กัน
ไวยากรณ์ของWhile Loops
ในการสร้าง while Loop เราจำเป็นต้องมีเงื่อนไขและคำสั่ง เงื่อนไขถูกกำหนดไว้ในส่วนหัวของโครงสร้างและกำหนดว่าเมื่อใดที่ลูปจะหยุดทำงาน โดยปกติจะเป็นบูลีนหรือนิพจน์ที่สร้างด้วยสตริงหรือตัวเลข
เมื่อมีการประกาศเงื่อนไข เราจะสร้างเนื้อหาที่คำสั่งจะไป ส่วนนี้ของรหัสทำงานจนกว่าจะตรงตามเงื่อนไข
คำสั่งสามารถมีงานที่เราต้องการและสามารถเป็นชุดของฟังก์ชัน วิธีการ และอื่นๆ รายการสุดท้ายของร่างกายมักจะกลับมา ดูที่อัลกอริทึมนี้
ในขณะที่:
นี่เป็นโครงร่างพื้นฐานของไวยากรณ์ ในที่นี้ ส่วน”statement”ถูกเยื้องด้วยช่องว่างสี่ช่องและแสดงถึงโค้ดที่วนซ้ำ
แท็ก”expression”แสดงถึงตัวแปรที่ได้รับการตรวจสอบทันทีที่ลูปเริ่มต้นและเปลี่ยนแปลงต่อไปจนกว่าเงื่อนไข มันเป็นความจริง. มาดูตัวอย่างพื้นฐานในชีวิตจริงกัน:
n=10 while (n 15): count +=1 print(n)
ในตัวอย่างด้านบน เราสามารถชื่นชมฟังก์ชันการทำงานเต็มรูปแบบของ while Loop ขั้นแรก เราประกาศตัวแปรที่จะทำหน้าที่เป็นเงื่อนไขในส่วนหัวของลูป เนื่องจากสถานะเป็นจริง หมายความว่า จำนวนไม่เกิน 15 ลูปจะทำงาน 1 ครั้ง
จากนั้นคำสั่งจะเพิ่ม 1 ให้กับตัวแปรของเราและพิมพ์ตัวเลข ดังนั้นเมื่อบวก 1 ถึง 10 คุณจะได้ 11 เนื่องจาก 11 ยังน้อยกว่า 15 รหัสจึงวนซ้ำอีกครั้งและต่อไปเรื่อยๆ จนกว่าจะตรงตามเงื่อนไข ในกรณีนี้ เมื่อจำนวนตัวแปรของเราเท่ากับ 15 เงื่อนไขจะตรวจสอบว่าเป็นเท็จ และลูปจะหยุดทำงาน
While Loops และคำสั่งอื่น ๆ
เราได้เห็นถึงความเรียบง่ายแต่ทรงพลังของ while Loop แล้ว เป็นตรรกะง่ายๆ แต่สามารถนำไปสู่ผลลัพธ์ที่เหลือเชื่อได้ ถึงกระนั้น จะทำอย่างไรกับการรวม while ลูปกับฟังก์ชันอื่น ๆ
ตามปกติใน Python คุณสามารถรวมฟังก์ชัน while กับฟังก์ชันพื้นฐานอื่น ๆ ส่วนใหญ่ได้ เพื่อจุดประสงค์ของเรา เราจะใช้คำสั่ง”else”ซึ่งเป็นอีกแหล่งข้อมูลหนึ่งที่โปรแกรมเมอร์คุ้นเคย
คำสั่ง if-else มักจะทำงานกับเงื่อนไขอย่างน้อย 1 เงื่อนไข เช่นเดียวกับการวนลูปในขณะที่ทำ เราจะแทนที่”ถ้า”ด้วย”ในขณะที่”ในครั้งนี้ ดังนั้น เมื่อไม่ตรงตามเงื่อนไขแรก คำสั่ง else จะอยู่ในบรรทัดถัดไป
มาสร้างโปรแกรมง่ายๆ ที่ใช้คำสั่ง while และคำสั่ง else เพื่อให้คุณเข้าใจ
นับ=0 ในขณะที่ (นับ 5): นับ +=พิมพ์(“Hello World”) อื่น: พิมพ์(“Hello World จากคำสั่งอื่น”) #Output #Hello World #Hello World #Hello World #Hello World #Hello คำสั่ง world from else
ในตัวอย่างด้านบน การนับเริ่มต้นที่ 0 และเพิ่มขึ้นอย่างต่อเนื่อง โดยพิมพ์สตริงทุกรอบ จากนั้น เมื่อเราไปถึง 5 คำสั่ง while วนซ้ำจะหยุด และคำสั่ง else จะพิมพ์สตริงที่เราสร้างไว้ก่อนหน้านี้
อย่างที่คุณเห็น เช่นเดียวกับเครื่องมือองค์ประกอบส่วนใหญ่ ความเป็นไปได้ไม่มีที่สิ้นสุดจริงๆ ชุดค่าผสมที่เรียบง่ายเหล่านี้ซึ่งที่แกนหลักแสดงถึงข้อความเชิงตรรกะง่ายๆ เป็นขนมปังและเนยของแอปพลิเคชันส่วนใหญ่
หนึ่งบรรทัดในขณะที่วนซ้ำ
ในฐานะนักพัฒนาซอฟต์แวร์ เรามักจะแสวงหาโอกาสในการสร้างสิ่งที่สะอาดขึ้น และรหัสที่ง่ายกว่า มีวิธีเฉพาะในการลดความซับซ้อนของไวยากรณ์สำหรับ while Loops ที่คุณควรทราบ
คุณสามารถสร้าง while Loop ในบรรทัดเดียว โดยประกาศเฉพาะเงื่อนไขและส่วนพิมพ์ มาดูกันว่ามันทำงานอย่างไร:
n=10 ขณะที่ n > 0: n-=; พิมพ์(n)
โปรดทราบว่าไวยากรณ์นี้สามารถนำไปสู่ข้อผิดพลาดวนซ้ำไม่สิ้นสุด เนื่องจากเราไม่สามารถไปถึงเงื่อนไขที่จำเป็นเพื่อหยุดมันได้ ในภาษาอังกฤษธรรมดา บรรทัดเดียวในขณะที่วนรอบ (ตามที่เขียนและกำหนดไว้ในตัวอย่างข้างต้น) จะไม่มีวันสิ้นสุด มันจะวนซ้ำตลอดไป
เมื่อคุณพบว่าตัวเองอยู่ในสถานการณ์นี้ โปรดจำไว้ว่าคุณสามารถยุติโปรแกรมโดยใช้คีย์ผสมบนแป้นพิมพ์ของคุณ บน Windows Ctrl + C จะช่วยให้คุณหมดปัญหา
หากสิ่งนี้เกิดขึ้นกับคุณ อย่าเพิ่งหมดกำลังใจ เป็นข้อผิดพลาดทั่วไป และเป็นวิธีที่ยอดเยี่ยมในการทำความเข้าใจตรรกะที่สนับสนุนฟังก์ชันเหล่านี้
อย่างไรก็ตาม มีบางกรณีที่เราอาจต้องการการวนซ้ำไม่สิ้นสุด ดังนั้น ขึ้นอยู่กับความตั้งใจของเรา การวนซ้ำไม่สิ้นสุดสามารถเป็นคุณสมบัติ ไม่ใช่จุดบกพร่อง! ตัวอย่างเช่น เป็นแหล่งข้อมูลที่มีประโยชน์สำหรับการสร้างเซิร์ฟเวอร์ที่ต้องออนไลน์เป็นส่วนใหญ่ เนื่องจากเซิร์ฟเวอร์จะทำงานต่อไปจนกว่าคุณจะยุติโปรแกรม แต่มาติดตามกันต่อที่นี่
While Loops With List
มาดูกันว่า while Loops ทำงานอย่างไรร่วมกับรายการ:
ตัวเลข=[1, 2, 3, 4, 5] ในขณะที่ตัวเลข: พิมพ์(numbers.pop()) #Output #5 4 3 2 1
ที่นี่เราได้สร้างรายการที่มีตัวเลขที่จะวนซ้ำจนกว่าจะไม่มีรายการเหลืออยู่ แม้ว่าเราจะไม่รอช้า แต่ก็ค่อนข้างดีที่คุณสามารถรวมการวนลูปกับฟังก์ชันเนทีฟส่วนใหญ่ได้ และเราต้องการให้สิ่งนั้นอยู่กับคุณหลังจากที่คุณอ่านบทความนี้จบ
ส่วนเงื่อนไขจะอ่านความยาวของรายการ และเราได้กำหนดให้รายการสุดท้ายเป็นรายการแรกที่ได้รับการพิมพ์ สิ่งนี้เป็นไปได้ด้วยเมธอด pop()
เมธอด pop() เป็นฟังก์ชันดั้งเดิมใน Python ที่ลบและส่งคืนรายการสุดท้ายจากรายการ ใช้งานได้ทั้งกับลูป”for”และ while ลูป
While Loops และ Control Statements
Control statement เป็นวิธีที่เหมาะในการควบคุมการวนซ้ำของ while Loops ช่วยให้เราสามารถแก้ไขวิธีการทำงานของลูปโดยยุติหรือขัดจังหวะการไหลปกติของลูป
ในเวอร์ชัน Python ปัจจุบัน เรามีคำสั่งควบคุมสองคำสั่ง:
อย่างแรก คำสั่ง”ดำเนินการต่อ”มันจะหยุดการวนซ้ำปัจจุบันและส่งเราไปยังจุดเริ่มต้นของลูป เงื่อนไขจะได้รับการประเมินใหม่และการทำซ้ำใหม่จะเริ่มต้นขึ้น
นี่คือตัวอย่างของคำสั่ง while Loop ที่มีคำสั่ง Continue:
i=0 a=’Hello World’while i len(a): ถ้า a[i]==’o’: i ++=1 พิมพ์ต่อ(a[i]) i +=1 #Output: H e ll W r l d
โปรดทราบว่าเราเรียกฟังก์ชัน len() ช่วยให้เราสามารถนับจำนวนรายการและส่งกลับค่านี้ ในกรณีนี้ จะส่งคืนจำนวนอักขระในสตริง
นอกจากนี้ยังมีคำสั่ง”Break”คำสั่ง break จะหยุดการวนซ้ำทั้งหมด เช่น:
i=0 a=’Hello World’ในขณะที่ i len(a): if a[i]==’l’: i ++=1 break print (a[i]) i +=1 #Output: H e
ในที่สุด เราก็มีคำสั่ง “pass” มักใช้กับลูปว่างที่ไม่มีคำสั่ง ฟังก์ชัน หรือเมธอด
i=0 a=’Hello World’ในขณะที่ i len(a): i +=1 pass print(i) #Output: 11
ข้อความควบคุมทั้งหมดนี้ช่วยให้เราปรับแต่งสิ่งที่เกิดขึ้นส่วนใหญ่ภายใน while Loop ได้ คุณสามารถดูได้ว่าสิ่งนี้มีประโยชน์อย่างไรเมื่อทำงานกับชุดข้อมูลขนาดใหญ่หรือเมื่อทำงานกับ AI
ข้อดีของ while Loops คืออะไร
ข้อดีหลักของ while Loops คือคุณสามารถสร้างแอปพลิเคชันทั้งหมดบนแอปพลิเคชันเหล่านั้นได้ ฟังก์ชันการทำงานเป็นพื้นฐานจนคุณจะพบว่าตัวเองใช้มันอยู่เสมอ
จนถึงตอนนี้ เราได้เห็นถึงวิธีการทำงานของ while loop และวิธีรวมเข้ากับฟังก์ชันอื่นๆ แล้ว ตัวอย่างโค้ดนั้นค่อนข้างเรียบง่าย ดังนั้นเรามาลองทำบางสิ่งที่ซับซ้อนกว่านี้สักหน่อย
ใน Python เป็นไปได้ที่จะซ้อนคำสั่งอย่างน้อยหนึ่งคำสั่งภายในคำสั่งอื่น การซ้อนใช้ได้กับคำสั่ง if-else, while loops และโครงสร้างการควบคุมอื่นๆ
a=[‘Hello’,’World’] while len(a): print(a.pop(0)) b=[‘Puthon’,’Rules’] while len(b): print(‘>’, b.pop(0)) #Output: Hello Python Rules World Python Rules
ในตัวอย่างนี้ เราสร้างโครงสร้างที่ซับซ้อนซึ่งประเมินเงื่อนไข และพิมพ์แต่ละสตริง เรายังใช้ฟังก์ชัน pop() ที่เรานำเสนอก่อนหน้านี้
โปรแกรมนี้เป็นเพียงอีกตัวอย่างหนึ่งของสิ่งที่สามารถทำได้ด้วย while Loops พวกเขามีพลังในตัวเอง แต่ทุกอย่างจะก้าวไปสู่อีกระดับหนึ่งเมื่อคุณเพิ่มเมธอดและฟังก์ชันอื่นๆ เข้าไปผสม
บทสรุป: อธิบายถึงการวนซ้ำใน Python
ในบทความนี้ คุณจะ เรียนรู้วิธีการทำงานของ while ลูป ไวยากรณ์ และกรณีการใช้งานบางกรณี ด้วยความรู้นี้ คุณควรจะสามารถครอบงำแนวคิดของ while ลูปและนำไปใช้เมื่อจำเป็น
เรายังดูที่การวนซ้ำ คำสั่งควบคุม คำสั่งอื่น และการวนซ้ำไม่สิ้นสุด
คุณสมบัติทั้งหมดที่จำเป็นในการสร้างแอปพลิเคชันที่ซับซ้อนและมีประโยชน์ โดยใช้การทำซ้ำของโค้ดเป็นแนวคิดพื้นฐานหลัก สำหรับข้อมูลเพิ่มเติม เราขอแนะนำให้ดูเอกสารอย่างเป็นทางการของ Python ตอนนี้เราให้คุณลองสิ่งเหล่านี้ด้วยตัวคุณเองและดูว่าพวกเขาจะพาคุณไปที่ใด
คำถามที่พบบ่อยขณะวนซ้ำใน Python (คำถามที่พบบ่อย)
ฉันควรทำอย่างไรหากได้รับข้อผิดพลาดวนซ้ำไม่สิ้นสุด
อย่าตกใจ! ในไพธอนคอมไพเลอร์ส่วนใหญ่ CTRL + C ควรยุติโค้ดใดก็ตามที่กำลังทำงานอยู่ ใช้เครื่องมือของคอมไพเลอร์เพื่อไปยังส่วนต่างๆ และดีบักโค้ดของคุณ
มี while Loops เฉพาะใน Python หรือไม่
ไม่ ในขณะที่ Loops มีอยู่ในรูปแบบใดรูปแบบหนึ่ง พร้อมใช้งานในภาษาการเขียนโปรแกรมส่วนใหญ่ เป็นคุณลักษณะของการเขียนโปรแกรมเชิงวัตถุเนื่องจากเป็นตัวแทนของฟังก์ชันตรรกะพื้นฐาน คุณจะพบฟังก์ชันเนทีฟที่คล้ายกันใน Java, Javascript และภาษาโปรแกรมยอดนิยมอื่นๆ
ฉันสามารถรวมฟังก์ชันอื่นๆ กับ while Loops ได้หรือไม่
ได้! เช่นเดียวกับฟังก์ชันเนทีฟอื่นๆ ใน Python คุณสามารถใช้ while Loops ร่วมกับฟังก์ชันเนทีฟอื่นๆ เกือบทั้งหมดใน Python ได้
For Loops และ while Loops ต่างกันอย่างไร
สำหรับลูปเป็นส่วนหนึ่งของกลุ่มการวนซ้ำที่แน่นอน ซึ่งการวนซ้ำหรือจำนวนการทำซ้ำจะระบุไว้ที่ใดที่หนึ่งในโค้ด ในอีกด้านหนึ่ง ขณะที่ลูปเป็นโครงสร้างการวนซ้ำที่ไม่มีกำหนด เนื่องจากไม่ได้กำหนดจำนวนการวนซ้ำ
การวนซ้ำคืออะไร
ในการเขียนโปรแกรม การวนซ้ำเป็นกระบวนการของการทำซ้ำชุดคำสั่งตามจำนวนครั้งที่กำหนด การวนซ้ำเป็นวิธีการวนซ้ำที่พบมากที่สุด