Python For & While Loops: แจกแจง แบ่ง และดำเนินการต่อ
ลูปคืออะไร?
ลูปสามารถดำเนินการบล็อกของรหัสจำนวนครั้งจนกว่าจะตรงตามเงื่อนไขที่กำหนด การใช้งานค่อนข้างธรรมดาในการเขียนโปรแกรม ต่างจากภาษาโปรแกรมอื่นๆ ที่มี For Loop, while loop, do While ฯลฯ
For Loop คืออะไร?
For loop ใช้เพื่อวนซ้ำองค์ประกอบของลำดับ มักใช้เมื่อคุณมีโค้ดที่ต้องการทำซ้ำจำนวน "n"
While Loop คืออะไร?
ในขณะที่ Loop ใช้เพื่อทำซ้ำบล็อกของโค้ด แทนที่จะเรียกใช้บล็อกโค้ดเพียงครั้งเดียว ระบบจะเรียกใช้บล็อกโค้ดหลายครั้งจนกว่าจะตรงตามเงื่อนไขที่กำหนด
วิธีการใช้งาน “While Loop”
แม้ว่า loop จะทำสิ่งเดียวกันกับที่คำสั่ง "if" ทำทุกประการ แต่แทนที่จะเรียกใช้บล็อกโค้ดเพียงครั้งเดียว พวกเขาจะกระโดดกลับไปยังจุดที่เริ่มโค้ดและทำซ้ำขั้นตอนทั้งหมดอีกครั้ง
วากยสัมพันธ์
while expression Statement
ตัวอย่าง:
# #Example file for working with loops # x=0 #define a while loop while(x <4): print(x) x = x+1
ผลลัพธ์ที่คาดหวัง:
0 1 2 3
- รหัสบรรทัด 4: ตัวแปร x ถูกตั้งค่าเป็น 0
- รหัสบรรทัด 7: ในขณะที่ลูปตรวจสอบเงื่อนไข x<4 ค่าปัจจุบันของ x คือ 0 เงื่อนไขเป็นจริง การไหลของการควบคุมเข้าสู่ในขณะที่วนซ้ำ
- รหัสบรรทัด 8: ค่าของ x ถูกพิมพ์
- รหัสบรรทัด 9: x เพิ่มขึ้น 1 โฟลว์ของการควบคุมกลับไปที่บรรทัด 7 ตอนนี้ค่าของ x คือ 1 ซึ่งน้อยกว่า 4 เงื่อนไขเป็นจริง และอีกครั้งในขณะที่ลูปถูกดำเนินการ สิ่งนี้จะดำเนินต่อไปจนกระทั่ง x กลายเป็น 4 และเงื่อนไข while กลายเป็นเท็จ
วิธีการใช้งาน “For Loop”
In Pythonเรียกว่า "for loops" ตัววนซ้ำ
เช่นเดียวกับ while loop “For Loop” ก็ใช้เพื่อทำซ้ำโปรแกรมเช่นกัน
แต่ต่างจาก while loop ซึ่งขึ้นอยู่กับเงื่อนไขจริงหรือเท็จ “For Loop” ขึ้นอยู่กับองค์ประกอบที่ต้องวนซ้ำ
ตัวอย่าง:
# #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print(x)
ผลลัพธ์ที่คาดหวัง:
2 3 4 5 6
สำหรับวนซ้ำด้วยตัวเลขที่ประกาศในช่วง
ตัวอย่างเช่น
สำหรับ Loop สำหรับ x ที่อยู่ในพิสัย (2,7)
เมื่อรันโค้ดนี้ มันจะพิมพ์ตัวเลขระหว่าง 2 ถึง 7 (2,3,4,5,6) ในรหัสนี้ หมายเลข 7 จะไม่ถือว่าอยู่ในช่วง
For Loops ยังใช้กับชุดของสิ่งอื่นๆ ได้ด้วย ไม่ใช่แค่ตัวเลข เราจะเห็นความบางในหัวข้อถัดไป
วิธีใช้ For Loop สำหรับ String
ในขั้นตอนนี้ เราจะดูว่า "for loop" สามารถนำไปใช้กับสิ่งอื่นๆ นอกเหนือจากตัวเลขได้อย่างไร
ตัวอย่าง:
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print(m)
ผลลัพธ์ที่คาดหวัง:
Jan Feb Mar April May June
รหัสบรรทัด 3: เราจัดเก็บเดือนต่างๆ (“ม.ค. ก.พ. มี.ค. เมษายน พ.ค. มิ.ย.”) ในเดือนที่แปรผันได้
รหัสบรรทัด 4: เราวนซ้ำ for ในแต่ละค่าเป็นเดือน ค่าปัจจุบันของเดือนที่เก็บไว้ในตัวแปร m
รหัสบรรทัด 5: พิมพ์เดือน
วิธีใช้คำสั่งแบ่งใน For Loop
เบรกพอยต์เป็นฟังก์ชันพิเศษใน For Loop ที่ช่วยให้คุณสามารถหยุดหรือยุติการทำงานของ for loop ได้
ตัวอย่าง:
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print(x)
ผลลัพธ์ที่คาดหวัง:
10 11 12 13 14
ในตัวอย่างนี้ เราประกาศตัวเลขตั้งแต่ 10 ถึง 20 แต่เราต้องการให้ลูป for สิ้นสุดที่ตัวเลข 15 และหยุดดำเนินการต่อไป เพื่อจุดประสงค์นั้น เราจึงประกาศฟังก์ชัน break โดยกำหนด (x==15): break ดังนั้น ทันทีที่โค้ดเรียกตัวเลข 15 โค้ดจะยุติโปรแกรม บรรทัดโค้ด 10 ประกาศตัวแปร x ระหว่างช่วง (10, 20)
- รหัสบรรทัด 11 ประกาศเงื่อนไขสำหรับเบรกพอยต์ที่ x==15
- รหัสบรรทัด 12 ตรวจสอบและทำซ้ำขั้นตอนจนกว่าจะถึงหมายเลข 15
- รหัสบรรทัด 13 พิมพ์ผลลัพธ์ในเอาต์พุต
วิธีใช้ “คำสั่งดำเนินการต่อ” ใน For Loop
ฟังก์ชั่น Continue ดังที่ชื่อระบุ จะยุติการวนซ้ำปัจจุบันของ for loop แต่จะดำเนินการวนซ้ำที่เหลือต่อไป
ตัวอย่าง
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print(x)
ผลลัพธ์ที่คาดหวัง:
11 12 13 14 16 17 18 19
สามารถใช้คำสั่ง Continue ใน for loop เมื่อคุณต้องการดึงค่าเฉพาะจากรายการ
ในตัวอย่างของเรา เราประกาศค่าเป็น 10-20 แต่ระหว่างตัวเลขเหล่านี้ เราต้องการเฉพาะตัวเลขที่หารด้วย 5 ลงตัว หรือพูดอีกอย่างก็คือ ตัวเลขที่ไม่ให้เป็นศูนย์เมื่อหารด้วย 5
ดังนั้น ในช่วง (10,11, 12….19,20) ของเรา จะมีเพียง 3 ตัวเลข (10,15,20) เท่านั้นที่หารด้วย 5 ลงตัว ส่วนที่เหลือหารด้วย XNUMX ลงตัว
ดังนั้นยกเว้นหมายเลข 10,15 และ 20 “for loop” จะไม่ดำเนินการต่อและพิมพ์หมายเลขเหล่านั้นเป็นเอาต์พุต
- บรรทัดโค้ด 10 ประกาศตัวแปร x สำหรับช่วง (10, 20)
- บรรทัดโค้ด 12 ประกาศเงื่อนไขสำหรับ x หารด้วย 5=0 ดำเนินการต่อ
- รหัสบรรทัด 13 พิมพ์ผลลัพธ์
แจกแจง () ในคืออะไร Python?
แจกแจง () ในหลาม เป็นฟังก์ชันในตัวที่ใช้สำหรับกำหนดดัชนีให้กับแต่ละรายการของวัตถุที่ทำซ้ำได้ โดยจะเพิ่มการวนซ้ำบนออบเจ็กต์ที่ทำซ้ำได้ในขณะที่ติดตามรายการปัจจุบันและส่งคืนออบเจ็กต์ในรูปแบบที่นับได้ วัตถุนี้สามารถใช้ใน for loop เพื่อแปลงเป็นรายการโดยใช้เมธอด list()
ตัวอย่าง:
ฟังก์ชันแจงนับ ใช้สำหรับกำหนดหมายเลขหรือจัดทำดัชนีสมาชิกในรายการ
สมมติว่าเราต้องการทำการนับหมายเลขสำหรับเดือน (Jan, Feb, Marc, ….June) ดังนั้น เราจึงประกาศตัวแปร i ที่ใช้ระบุตัวเลข ในขณะที่ m จะพิมพ์หมายเลขของเดือนในรายการ
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print(i,m) # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
ผลลัพธ์ที่คาดหวัง:
0 Jan 1 Feb 2 Mar 3 April 4 May 5 June
เมื่อดำเนินการโค้ด ผลลัพธ์ของฟังก์ชันแจกแจงจะส่งคืนชื่อเดือนพร้อมหมายเลขดัชนี เช่น (0-ม.ค.) (1- ก.พ.) (2- มีนาคม) เป็นต้น
- โค้ดบรรทัดที่ 3 ประกาศรายการเดือน [ม.ค., ก.พ.,…มิ.ย.]
- โค้ดบรรทัดที่ 4 ประกาศตัวแปร i และ m สำหรับ For Loop
- Code Line 5 จะพิมพ์ผลลัพธ์และเข้าสู่ For Loop อีกครั้งในช่วงที่เหลือของเดือนเพื่อแจกแจง
ตัวอย่างการปฏิบัติ
มาดูอีกตัวอย่างหนึ่งสำหรับ For Loop ที่จะทำซ้ำคำสั่งเดิมซ้ำแล้วซ้ำอีก
Python ห่วง | รหัสการทำงานสำหรับแบบฝึกหัดทั้งหมด |
---|---|
รหัสสำหรับ while วนซ้ำ |
x=0 while (x<4): print (x) x= x+1 |
สำหรับตัวอย่างง่ายๆ ของลูป |
x=0 for x in range (2,7): print (x) |
การใช้ for วนซ้ำในสตริง |
Months = ["Jan","Feb","Mar","April","May","June"] for m in (Months): print (m) |
ใช้คำสั่งแบ่งใน for loop |
for x in range (10,20): if (x == 15): break print (x) |
การใช้คำสั่ง Continue ใน for loop |
for x in range (10,20): if (x % 5 == 0): continue print (x) |
รหัสสำหรับ "ฟังก์ชันแจกแจง" ด้วย "for loop" |
Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print (i,m) |
วิธีใช้ for loop เพื่อทำซ้ำคำสั่งเดิมซ้ำแล้วซ้ำอีก
คุณสามารถใช้ for loop เพื่อทำซ้ำคำสั่งเดิมซ้ำแล้วซ้ำอีกได้ ในตัวอย่างนี้ เราได้พิมพ์คำว่า “guru99” สามครั้ง
ตัวอย่าง: หากต้องการทำซ้ำคำสั่งเดิมจำนวนครั้ง เราได้ประกาศตัวเลขในตัวแปร i (i ใน 123) ดังนั้นเมื่อคุณรันโค้ดตามที่แสดงด้านล่าง มันจะพิมพ์คำสั่ง (guru99) ซึ่งหลายครั้งเป็นตัวเลขที่ประกาศสำหรับตัวแปรของเราใน ( i ใน 123)
for i in '123': print ("guru99",i,)
ผลลัพธ์ที่คาดหวัง:
guru99 1 guru99 2 guru99 3
เช่นเดียวกับภาษาโปรแกรมอื่นๆ Python ยังใช้ลูป แต่แทนที่จะใช้ช่วงของลูปที่แตกต่างกัน กลับถูกจำกัดไว้เพียงสองลูปเท่านั้น “While loop” และ “for loop”
- ในขณะที่ลูปจะถูกดำเนินการโดยขึ้นอยู่กับว่าคำสั่งแบบมีเงื่อนไขเป็นจริงหรือเท็จ
- สำหรับลูปเรียกว่าตัววนซ้ำ โดยจะวนซ้ำองค์ประกอบตามเงื่อนไขที่ตั้งไว้
- Python For loops ยังสามารถนำไปใช้กับชุดของสิ่งอื่นๆ มากมาย (ระบุคอลเลกชันขององค์ประกอบที่เราต้องการวนซ้ำ)
- เบรกพอยต์ถูกใช้ใน For Loop เพื่อหยุดหรือยุติโปรแกรม ณ จุดใดจุดหนึ่ง
- คำสั่ง Continue จะดำเนินการพิมพ์คำสั่งต่อไป และพิมพ์ผลลัพธ์ตามเงื่อนไขที่กำหนด
- ฟังก์ชันระบุใน "for loop" ส่งคืนสมาชิกของคอลเลกชันที่เรากำลังดูด้วยหมายเลขดัชนี
Python 2 ตัวอย่าง
รหัสข้างต้นคือ Python 3 ตัวอย่าง หากคุณต้องการรันอิน Python 2 โปรดพิจารณาโค้ดต่อไปนี้
# How to use "While Loop" #Example file for working with loops # x=0 #define a while loop while(x <4): print x x = x+1 #How to use "For Loop" #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print x #How to use For Loop for String #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print m #How to use break statements in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print x #How to use "continue statement" in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print x #How to use "enumerate" function for "For Loop" #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print i,m # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Output:
0 1 2 3 2 3 4 5 6 Jan Feb Mar April May June 10 11 12 13 14 11 12 13 14 16 17 18 19 0 Jan 1 Feb 2 Mar 3 April 4 May 5 June