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