ภาษาการเขียนโปรแกรม Python: ลูป

ในภาษาโปรแกรม Python (เช่น "Python"หรือ "Python") มีหลายวิธีในการวนการกระทำ เครื่องมือหลักในการใช้การทำซ้ำทุกประเภทใน Python คือ while และสำหรับลูป while loop นั้นมีความหลากหลายมากกว่า for loop ดังนั้นจึงทำงานได้ช้ากว่า อย่างไรก็ตามนี่ไม่ได้หมายความว่าเขาเก่งกว่า! for loop ถูกใช้บ่อยกว่ามากเนื่องจากใช้เพื่อใช้งานที่ซับซ้อนที่สุดสำหรับการสร้างโปรแกรมหลายระดับและหลายเงื่อนไข

ลูป pytnon

Python: วนซ้ำกับ postcondition

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

ในขณะที่ลูปไพ ธ อน

ในภาษาการเขียนโปรแกรม Python ลูปที่มีเงื่อนไขภายหลัง while มีไวยากรณ์ต่อไปนี้:

1. ในขณะที่ (เงื่อนไข):

2. การแสดงออก

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

ใช้ while loop ใน Python ตามตัวอย่าง

หลามลูปที่มีเงื่อนไขภายหลัง

พิจารณา while loop Python มีโครงสร้างการวนซ้ำค่อนข้างน่าสนใจ:

a = 0
ในขณะที่ <7:
พิมพ์ ("A")
a = a + 1

เราประกาศตัวแปร "a" และตั้งค่าเป็นศูนย์มูลค่า. จากนั้นเราตั้งเงื่อนไข "while a <7" นั่นคือตราบใดที่ตัวแปร "a" น้อยกว่าตัวเลข "7" ลูปของเราจะถูกดำเนินการจนกว่าจะกลายเป็นเท็จ

และมันจะกลายเป็นเท็จ (นั่นคือมันจะออกจากลูป) เมื่อตัวแปรมีค่ามากกว่าตัวเลข "7" ในการทำให้สิ่งนี้เกิดขึ้นจะเพิ่มขึ้นครั้งละ 1 ครั้งซึ่งเราระบุไว้ในบรรทัด "a = a + 1"

หากคุณเรียกใช้การออกแบบนี้ตัวอักษร "A" จะแสดง 7 ครั้งในคอลัมน์!

เป็
เป็
เป็
เป็
เป็
เป็
เป็

ไม่มีที่สิ้นสุดในขณะที่วนซ้ำใน Python

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

หลามวนไม่รู้จบ

การวนซ้ำแบบไม่มีที่สิ้นสุดมักเป็นความผิดพลาดของโปรแกรมเมอร์มือใหม่ที่ลืมเพิ่มการเปลี่ยนแปลงเงื่อนไขการวนซ้ำ

มาดูโค้ด Python ต่อไปนี้ ในกรณีนี้ลูปจะวนซ้ำไม่รู้จบ (มีความคิดเห็นหลังสัญลักษณ์ "#"):

number = 1 # ประกาศตัวเลขตัวแปรและกำหนดค่า 1

ในขณะที่หมายเลข <10: # สร้างเงื่อนไขภายหลังโดยที่ตัวเลขน้อยกว่า 10

พิมพ์ "สวัสดี" # ปฏิบัติตามเงื่อนไข (พิมพ์ข้อความ "สวัสดี")

คุณไม่ควรรีบรวบรวมโปรแกรมดังกล่าวเพราะมันจะทำงานไปเรื่อย ๆ เราได้กำหนดเงื่อนไขดังกล่าวซึ่งจะไม่มีค่าเป็นเท็จ: เงื่อนไข“ number <10” ในกรณีนี้เป็นค่าคงที่และเป็นจริงดังนั้นการทำซ้ำจะดำเนินการอย่างต่อเนื่องโดยแสดงข้อความ“ สวัสดี” จำนวน N-th . ในการหยุดกระบวนการคอมไพล์ชั่วนิรันดร์คุณจะต้องกดคีย์ผสม Ctrl + C ในเชลล์

Python: ไวยากรณ์ ในขณะและสำหรับลูป

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

อะไรคือความท้าทายสำหรับ for loop?ไม่ต้องสงสัยเลยว่าเหมือนกับ while - วนซ้ำในบางกระบวนการ ในโปรแกรมที่ดำเนินการบน "Python" จะมีการใช้ for loop ซึ่งสามารถใช้การส่งผ่านของชุดองค์ประกอบที่กำหนดและดำเนินการซ้ำหลาย ๆ ครั้งในร่างกายได้ ความสามารถของโครงสร้างนี้สามารถนำไปใช้กับสตริงหรือรายการในลักษณะเดียวกับที่ทำซ้ำได้

ตัวอย่างการใช้ for loop ใน Python

สมมติว่าเรามีรายการตัวเลขและเราต้องเพิ่มแต่ละองค์ประกอบ (เช่นตัวเลข) สามหน่วย เราสามารถใช้งานดังกล่าวได้โดยการวนซ้ำโดยใช้วิธีการสำหรับลูป

ลองดูตัวอย่างเล็ก ๆ ที่เราจะดำเนินการที่เหมาะสมสำหรับสิ่งนี้ (มีความคิดเห็นหลังสัญลักษณ์ "#"):

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # ประกาศอาร์เรย์ที่มี 10 หลัก

count = 0 # สร้างตัวนับที่มีค่าเป็นศูนย์

สำหรับองค์ประกอบใน spisok_chisel: # วนซ้ำบนอาร์เรย์และเขียนลงในองค์ประกอบ

spisok_chisel [count] = องค์ประกอบ + 3 # เพิ่มจำนวนจากอาร์เรย์สาม

count = count + 1 # ไปที่ตัวเลขถัดไปโดยดัชนี

ผลลัพธ์ของการดำเนินการก่อสร้างข้างต้นจะเป็นดังนี้:

spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98]

ตัวอย่างของเรามีการนับตัวแปรซึ่งเราจำเป็นต้องทำเครื่องหมายการเปลี่ยนแปลงค่าในอาร์เรย์ "spisok_chisel" จำนวนตัวแปรจะเก็บค่าดัชนีของแต่ละองค์ประกอบในอาร์เรย์ (แต่ละหมายเลขในรายการ) ตัวแปร "องค์ประกอบ" จะผูกค่าผลลัพธ์ในรายการ ใน for loop เราจะสังเกตว่าแต่ละวัตถุที่เป็นตัวเลขในรายการได้รับการจัดการอย่างไร ภายในลูปวัตถุตัวเลขแต่ละตัวที่มีดัชนี "จำนวน" จะถูกเพิ่มด้วยผลรวมขององค์ประกอบที่วนซ้ำปัจจุบันและทริปเปิล จากนั้นดัชนีของเรา "นับ" จะเพิ่มขึ้นทีละรายการและโฟลว์โปรแกรมจะกลับไปที่จุดเริ่มต้นของการประกาศโครงสร้างสำหรับ ดังนั้นลูปจะทำงานจนกว่าจะประมวลผลแต่ละองค์ประกอบในอาร์เรย์ที่ระบุโดยเงื่อนไข หากองค์ประกอบใดขาดหายไป แต่ระบุโดยเงื่อนไขกระบวนการวนซ้ำจะสิ้นสุดลง ให้ความสนใจกับความแตกต่างกันเล็กน้อยอีกอย่างหนึ่ง: ถ้าคุณไม่เขียนบรรทัด "count = count + 1" ดังนั้นแม้ว่าวัตถุอาร์เรย์จะได้รับการประมวลผลสำเร็จผลลัพธ์จะถูกเพิ่มลงในวัตถุตัวเลขตัวแรกอย่างต่อเนื่องโดยมี a ดัชนีศูนย์

ตอนนี้เราจำหลักการทำงานได้แล้วในขณะที่วนซ้ำและเปิดเผยความแตกต่าง (โปรดจำไว้ว่าใน Python การออกจากลูปที่มีเงื่อนไขภายหลังจะขึ้นอยู่กับเกณฑ์ตรรกะ - จริง (ลูปยังคงทำงานต่อไป) หรือเท็จ (ลูปหยุดทำงาน))

ฉันจะจัดการค่าสตริงใน Python โดยใช้ for construction ได้อย่างไร

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

สำหรับตัวแปร

ตัวแปรจะเก็บผลลัพธ์ของวัฏจักร

ใน variable_2

คีย์เวิร์ด "in" เป็นสิ่งที่จำเป็นต้องมีเมื่อทำงานกับลูป "for" จาก variable_2 เราดึงค่าที่เราจะทำซ้ำ เพื่อความชัดเจนและชัดเจนลองดูตัวอย่างเล็ก ๆ ของวิธีการทำงานและการวนซ้ำในสตริงใน Python:

char = 'programming' # ประกาศตัวแปรและกำหนดค่าสตริง

สำหรับ slovo ใน char: # สร้างตัวแปร slovo ซึ่งจะเก็บดัชนีการวนซ้ำจากตัวแปร char

print (slovo, end = ‘^’) # พิมพ์ slovo และใส่สัญลักษณ์รูปนกหลังตัวอักษรแต่ละตัว

ผลลัพธ์ของสคริปต์:

N ^ p ^ o ^ r ^ p ^ a ^ m ^ m ^ u ^ p ^ o ^ b ^ a ^ n ^ u ^ e

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

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

ลองพิจารณาตัวอย่าง:

สำหรับการนับใน "ซ้ำทุกตัวอักษรยกเว้น o"

ถ้านับ == ‘o’:

ดำเนินการต่อ

พิมพ์ (count * 2, end = '')

ผลลัพธ์จะเป็นดังนี้:

Ppvvttrriimm kkazhzhduyuyu bbuukkvuu`` kkrrmmee

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

คำสั่งหยุดพัก

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

ลองพิจารณาตัวอย่างเล็กน้อยว่าคำสั่ง break ทำงานอย่างไร:

สำหรับการนับใน "ซ้ำทุกตัวอักษรยกเว้น o"

ถ้านับ == ‘o’:

หยุดพัก

พิมพ์ (count * 2, end = '')

ผลลัพธ์จะเป็นดังนี้:

nn

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

คำวิเศษอื่น ๆ

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

ลองดูตัวอย่างเล็ก ๆ :

สำหรับการนับใน "สวัสดีชาวโลก":

ถ้านับ == "ฉัน":

หยุดพัก

อื่น:

พิมพ์ ("คุณไม่มีตัวอักษร" I "ในวลีของคุณ")

ผลลัพธ์ของการเรียกใช้สคริปต์:

ไม่มีตัวอักษร "I" ในวลีของคุณ

ตัวอย่าง Reverse Loop ในภาษาการเขียนโปรแกรม Python

หลามย้อนกลับ

การวนซ้ำแบบย้อนกลับถูกนำไปใช้ใน Python อย่างไร? สมมติว่าเรากำลังเขียนโปรแกรมที่จดจำสตริงอักขระและพิมพ์ในลำดับย้อนกลับ วิธีการใช้งานนี้?

พิจารณาตัวอย่างด้านล่าง:

slovo = 'การเขียนโปรแกรม'

new_slovo = []

สำหรับการนับในช่วง (len (s), 0, -1):

new_slovo.append (s [i-1])

new_slovlo

['p', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'และ', 'p', 'o', 'in', ' a ',' n ',' และ ',' e ']

พิมพ์ (new_slovo)

['p', 'p', 'o', 'g', 'p', 'a', 'm', 'm', 'และ', 'p', 'o', 'in', ' a ',' n ',' และ ',' e ']

พิมพ์ (‘’. join (new_slovo))

ผลลัพธ์ของสคริปต์:

einavorimmargorp

ลูปที่ซ้อนกัน

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

หลามซ้อนลูป

หากใช้ลูปแบบซ้อนกัน Python จะนำเสนอไวยากรณ์ต่อไปนี้:

สำหรับตัวแปรในตัวแปรตามลำดับ:

สำหรับตัวแปรในตัวแปรลำดับ

การกระทำ (การกระทำ)

การกระทำ (การกระทำ)

ไวยากรณ์ python สำหรับลูป

ลักษณะเฉพาะของลูปที่ซ้อนกันรวมถึงความจริงที่ว่าภายในลูปประเภทใดก็ได้สามารถใช้ลูปประเภทใดก็ได้! ซึ่งหมายความว่าสำหรับลูปหรืออีกครั้งในขณะที่และในทางกลับกันสามารถซ้อนกันในลูป while (หรือ for) ได้