Python Loops สำหรับผู้เริ่มต้น

Mar 12 2023
สวัสดีทุกคน. หัวข้อสนทนาในวันนี้มีความสำคัญอย่างยิ่งในโลกของการเขียนโปรแกรม

สวัสดีทุกคน. หัวข้อสนทนาในวันนี้มีความสำคัญอย่างยิ่งในโลกของการเขียนโปรแกรม ไม่ว่าคุณจะเขียนโค้ดด้วยภาษาใด การวนซ้ำมีความสำคัญในทุกที่

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

การใช้งานในชีวิตจริงและความเกี่ยวข้องของลูปนั้นไม่มีใครเทียบได้ในโลกของการเขียนโปรแกรม

เริ่มแรกเรามาทำความเข้าใจกันก่อนว่าลูปคืออะไร

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

ในตัวอย่างในชีวิตจริง สมมติว่าคุณถูกขอให้หาแอปเปิ้ลที่มีธรรมชาติดีในหมู่

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

ตอนนี้ให้คิดว่าตะกร้าเป็นรายการ Python แอปเปิ้ลเป็นองค์ประกอบในรายการ และแอปเปิ้ลที่ดีคือองค์ประกอบเฉพาะที่เราต้องการให้เป็นผลลัพธ์ และเรากำลังดูแอปเปิ้ลทั้งหมดในการวนซ้ำที่จะเกิดขึ้นในโปรแกรมเมื่อเรารันลูป

เราจะพูดถึง Loop สองประเภทเป็นหลัก

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

ลองมาดูตัวอย่าง for loop ที่นี่ เรากำลังพยายามพิมพ์รายการทั้งหมดในรายการ

List1 = ["Peter","Clark","Bruce","Tony","Natasha"]
for item in List1:
    print(item)
Peter
Clark
Bruce
Tony
Natasha

for item in List1:
if len(item)<6:
    print(item)
Peter
Clark
Bruce
Tony

List2 = [["Peter","s"],["Clark","S"],["Bruce","B"],["Tony","I"],
["Natasha","BW"]]
for item in List2:
    print(item)
['Peter', 's']
['Clark', 'S']
['Bruce', 'B']
['Tony', 'I']
['Natasha', 'BW']

for item,it in List2:
    print(item,it)
Peter s
Clark S
Bruce B
Tony I
Natasha BW

Dict1 = {"John":1, "Sansa":2 , "Arya":3}
for item in Dict1:
    print(item)
John
Sansa
Arya

for item,it in Dict1.items():
    print(item,it)
John 1
Sansa 2
Arya 3

ฟังก์ชันช่วงในลูปใช้เพื่อสร้างลำดับของตัวเลข เป็นอินพุต จะใช้ค่าเริ่มต้น ค่าสิ้นสุด และขั้นตอนที่ต้องดำเนินการ ตัวอย่างเช่น หากค่าเริ่มต้นของฉันคือ 1 ค่าสุดท้ายของฉันคือ 10 และขั้นตอนคือ 3 ก็จะพิมพ์ 1, 4(1+3), 7(4+3) โปรดทราบว่าในช่วง Python เอาต์พุตจะแสดงตัวเลขหนึ่งตัวที่ลดระดับจากค่าสุดท้ายเสมอ ดังนั้น การวนซ้ำนี้จะไม่แสดงค่า 7+3 เป็น 10 เนื่องจากโดยทั่วไปแล้วการวนซ้ำที่ไม่มีค่าขั้นจะแสดงตั้งแต่ 1 ถึง 9 เท่านั้น .

for i in range(1,10,3):
    print(i)

1
4
7
for i in range(1,10):
    print(i)
1
2
3
4
5
6
7
8
9

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

for i in range(10):
    print(i)
    if i == 5:
        break
0
1
2
3
4
5

ลูปแรกส่งคืนค่า i เป็น 0 เนื่องจากช่วงเริ่มต้นจาก 0 เช่นเดียวกับการวนซ้ำ 0–5 ครั้ง หรือทั้งหมด 6 ครั้ง จากนั้นจึงหยุด

สำคัญ

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

ดำเนินการต่อคำชี้แจง —

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

ดังตัวอย่างด้านล่าง ผมใช้ช่วง 0,10 และกำหนดค่าการข้ามเป็น 8 ดังนั้นในขณะที่การวนซ้ำของฉันถึงจุดที่ค่าของตัวแปรที่กำหนดถึง 8 ก็จะข้ามส่วนนั้นและจะทำงานต่อไป .

for i in range (0,10):
    if i == 8:
      continue
    print(i)
0
1
2
3
4
5
6
7
9

ในขณะที่วน -

ในขณะที่ชื่อแนะนำ ลูปเหล่านี้จะถูกดำเนินการในขณะที่เงื่อนไขที่กำหนดเป็นจริง หากเงื่อนไขไม่เป็นจริง ลูปจะไม่ทำงาน

ทีนี้มาดูสถานการณ์ที่เราใช้ลูป while แต่การวนซ้ำนั้นไม่สิ้นสุด

i=0
while i<10:
    print("the looop runs")
    i = i+1
the looop runs
the looop runs
the looop runs
the looop runs
the looop runs
the looop runs
the looop runs
the looop runs
the looop runs
the looop runs

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

c = 0
while c<5:
    print("the loop runs")
    c+=1
print("the loop ends")
the loop runs
the loop runs
the loop runs
the loop runs
the loop runs
the loop ends

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

l1 = ["A","B","C"]
l2 = ["d","e","f"]
for i in l1:
    for j in l2:
        print(i,j)
A d
A e
A f
B d
B e
B f
C d
C e
C f

i = 1
while i<=6:
    j = 1
    while j<=6:
      print("*",end="")
      j=j+1
    print()
    i=i+1
******
******
******
******
******
******

สำหรับเนื้อหาดังกล่าวเพิ่มเติม โปรดติดตามโปรไฟล์ Medium และหน้า LinkedIn ของฉัน —https://www.linkedin.com/in/chandan-sengupta/