สารบัญ[ซ่อน][แสดง]
ในบทช่วยสอนที่แล้ว เราได้เรียนรู้เกี่ยวกับ while loop และวิธีดำเนินการบล็อกของโค้ดหลายครั้ง
ใน Python เรามีลูปประเภทอื่นๆ เช่น “for loop” และ “nested loop” เรามาดูกันว่ามันใช้งานอย่างไร
สำหรับลูป
เราใช้ “for loop” เพื่อวนซ้ำรายการของคอลเลกชัน เช่น สตริง เนื่องจากสตริงเป็นลำดับของอักขระ จึงดูเหมือนเป็นคอลเล็กชัน ดังนั้นเราจึงสามารถใช้ for loop เพื่อวนซ้ำอักขระแต่ละตัวในสตริงแล้วทำอะไรกับมัน
นี่คือตัวอย่าง
เราพิมพ์ "for" ตามด้วยตัวแปรแล้วตามด้วยสตริง
for item in 'Python':
ในที่นี้ “รายการ” หมายถึงอักขระของคำว่า Python ในการวนซ้ำครั้งแรกของลูป "item" หมายถึง 'P' การวนซ้ำครั้งที่สองหมายถึง 'y' เป็นต้น มาดำเนินการนี้กันเถอะ
คุณสามารถเห็นแต่ละอักขระในสตริงนี้พิมพ์บนบรรทัดใหม่
ลองดูตัวอย่างอื่น ใน Python เราสามารถกำหนดรายการโดยใช้วงเล็บเหลี่ยม ให้ฉันกำหนดรายการโดยใช้วงเล็บเหลี่ยม
for item in ['Shahbaz', 'Aayush', 'Jay']:
print(item)
ตอนนี้จะแสดงรายการสามชื่อในบรรทัดที่แยกจากกัน
เรายังใช้รายการตัวเลขในการตั้งค่านี้ได้ แทนที่จะพิมพ์ตัวเลขทั้งหมดตั้งแต่ 0 ถึง 9 ฉันจะใช้ฟังก์ชัน "ช่วง" เพื่อทำให้สิ่งต่างๆ ง่ายขึ้น เรามาดูกันว่ามันทำอย่างไร
for item in range(10):
print(item)
นอกจากนี้เรายังสามารถตั้งโปรแกรมให้เริ่มต้นด้วย 0
for item in range(5, 10):
มันจะพิมพ์ตัวเลข 5 ถึง 9 บนเทอร์มินัล
ฟังก์ชัน "ช่วง" สามารถใช้ขั้นตอนต่างๆ เป็นอินพุตได้ ถ้าเราเขียนแบบนี้
for item in range(5, 10, 2):
มันจะพิมพ์ 5, 7 และ 9 ซึ่งหมายความว่ามันจะไปข้างหน้าสองก้าวหลังจากการทำซ้ำทุกครั้ง
การออกกำลังกาย
นี่คือแบบฝึกหัดสำหรับคุณ ฉันต้องการให้คุณเขียนโปรแกรมคำนวณต้นทุนรวมของสินค้าทั้งหมดในตะกร้าสินค้า สมมติว่าเรามีรายการราคา เช่น 10, 20 และ 30 ฉันต้องการให้คุณใช้ for loop เพื่อคำนวณต้นทุนรวมของสินค้าทั้งหมดในตะกร้าสินค้าในจินตนาการของเรา
ใช้สมองของคุณทำงานและดูว่าคุณสามารถทำมันได้หรือไม่ ไม่มีการโกง.
Solution
คุณสามารถเริ่มต้นด้วยการแสดงราคาเช่นนี้
prices = [10, 20, 30]
ตอนนี้เพิ่มตัวแปรสำหรับราคารวมซึ่งจะเริ่มจาก 0 สำหรับการวนซ้ำครั้งแรก
total = 0
นี่คือ for loop ของเรา
for price in prices:
total = total + price
// ย่อได้เป็น total += price
print(f"Total: {total}")
ลูปซ้อน
ใน Python การใช้ nested loop โดยทั่วไปหมายถึงการเพิ่มหนึ่งลูปภายในลูปอื่น และด้วยเทคนิคนี้ เราสามารถทำสิ่งที่น่าทึ่งได้ ตัวอย่างเช่น เราสามารถสร้างรายการพิกัดได้อย่างง่ายดาย
พิกัดอย่างที่คุณทราบคือการรวมกันของค่า 'x' และ 'y' สมมติว่า 0 กับ 0 สมมติว่าคุณต้องการสร้างรายการพิกัดแบบนี้ เรามี 0 กับ 0 แล้วเราจะได้ 0 กับ 1 แล้วก็ 0 กับ 2
ต่อไปเราจะเปลี่ยน 'x' เราจะใช้ 1 สำหรับ 'x' และอีกครั้ง เราจะใช้ค่า 3 ค่านี้สำหรับพิกัด 'y'
เราสามารถสร้างพิกัดเหล่านี้ได้อย่างง่ายดายโดยใช้ลูปที่ซ้อนกัน
ให้ผมแสดง.
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
ตรวจสอบผลลัพธ์:
ให้ฉันอธิบายอย่างชัดเจนว่าโปรแกรมนี้ทำงานอย่างไร ในการวนซ้ำครั้งแรกของวงรอบนอกของเรา 'x' คือ 0 ตอนนี้เราอยู่ในบรรทัดที่ 2 แล้ว เรามีลูปใหม่ที่เราเรียกว่าวงใน ในวงในนี้ ในการวนซ้ำครั้งแรก 'y' จะเป็น 0 ดังนั้น 0 และ 0 จึงถูกพิมพ์บนเทอร์มินัล
ตอนนี้ตัวควบคุมกลับไปที่บรรทัดที่ 2 หรือวงในของเรา ในการวนซ้ำครั้งที่สองนี้ 'y' จะถูกตั้งค่าเป็น 1 แต่เรายังคงอยู่ในการวนซ้ำครั้งแรกของวงรอบนอกของเรา ดังนั้น 'x' ยังคงเป็น 0 แต่ตอนนี้ 'y' เพิ่มขึ้นเป็น 1
นั่นคือเหตุผลที่เราเห็น 0 และ 1 บนเทอร์มินัล สิ่งนี้จะดำเนินต่อไปจนกว่าวงในของเราจะถูกดำเนินการ จากนั้นล่ามจะไปที่วงรอบนอกอีกครั้ง และกระบวนการนี้จะดำเนินต่อไปจนกว่าวงรอบนอกจะเสร็จสิ้น
ความท้าทาย
นี่คือแบบฝึกหัดสำหรับคุณ แต่แบบฝึกหัดนี้ยากกว่าแบบฝึกหัดที่คุณเคยทำมาเล็กน้อย
ใช้การวนซ้ำซ้อน เขียนโค้ดเพื่อวาดรูปร่าง 'F' นี้:
Solution
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
// เราจะรีเซ็ตตัวแปรเอาต์พุตเป็นสตริงว่าง
for count in range(x_count):
output += 'x'
print(output)
มีวิธีที่ง่ายกว่ามากในการดำเนินการนี้โดยไม่ต้องใช้ลูปที่ซ้อนกัน ฉันปล่อยให้คุณคิดออก
สรุป
พวกคุณรู้สึกร้อนขึ้นทุกครั้งที่บรรยายหรือไม่?
ฉันรู้สึกอย่างนั้นอย่างแน่นอน ฉันได้ทำให้มันง่ายกว่ามากสำหรับคุณที่จะเข้าใจ
มาพูดถึงการบรรยายครั้งต่อไปของเรากันดีกว่า
เขียนความเห็น