คำสั่ง while loop
while loop เป็นคำสั่งวนซ้ำที่ง่ายและพื้นฐานที่สุดในภาษา Python คำสั่ง while loop นั้นใช้ควบคุมโปรแกรมให้ทำงานบางอย่างซ้ำๆ ในขณะที่เงื่อนไขของลูปนั้นยังคงเป็นจริงอยู่ นี่เป็นรูปแบบของการใช้งานคำสั่ง while loop ในภาษา Python
while expression:
# statements
คำสั่ง for loop
คำสั่ง for loop เป็นคำสั่งวนซ้ำที่ใช้ควบคุมการทำงานซ้ำๆ ในจำนวนรอบที่แน่นอน ในภาษา Python นั้นคำสั่ง for loop จะแตกต่างจากภาษาอื่นๆ อย่างภาษา C มันมักจะใช้สำหรับการวนอ่านค่าภายในออบเจ็ค เช่น ลิสต์หรือออบเจ็คจากฟังก์ชัน range()
เป็นต้น มาดูตัวอย่างการใช้งานคำสั่ง for ในภาษา Python
for expression:
# statements
ฟังก์ชัน range() ในภาษา Python เรามักจะใช้คำสั่ง for loop กับฟังก์ชัน range()
ในการวนอ่านค่าออบเจ็คของตัวเลข ฟังก์ชัน range()
นั้นเป็น built-in ฟังก์ชันใช้สำหรับสร้างออบเจ็คของตัวเลข โดยมีพารามิเตอร์ 3 ตัว คือตัวเลขเริ่มต้น ตัวเลขสุดท้าย และค่าที่เปลี่ยนแปลงในลำดับของตัวเลข มาดูตัวอย่างการใช้งานฟังก์ชัน range()
ในภาษา Python
range(intial, endNumber, step)
คำสั่ง break
คำสั่ง break ใช้สำหรับหยุดการทำงานของ loop ในทันทีโดยไม่จำเป็นต้องให้เงื่อนไขเป็น False ก่อน มันมักจะใช้ในกรณีที่เราต้องการสร้างเงื่อนไขให้โปรแกรมออกจาก loop ที่นอกเหนือจากเงื่อนไขของ loop มาดูตัวอย่างการใช้งานคำสั่ง break
ในภาษา Python
for i in range(1, 11):
if i == 5:
break
print(i, end = ', ')
คำสั่ง continue
ไม่เหมือนคำสั่ง break คำสั่ง continue
ใช้สำหรับข้ามการทำงานของ loop ไปทำงานในรอบใหม่ทันทีโดยไม่สนใจคำสั่งที่เหลือหลังจากนั้น มาดูตัวอย่างการใช้งานคำสั่ง continue เพื่อแสดงผลตัวเลขคู่ในภาษา Python
for i in range(1, 11):
if i % 2 == 1:
continue
print(i, end = ', ')
คำสั่ง else กับ loop
ในการทำงานกับคำสั่งวนซ้ำนั้น เราอาจจะใช้คำสั่ง else clause เพื่อกำหนดบล็อคการทำงานให้กับ loop ได้ โดยในบล็อคของคำสั่ง else นั้นจะทำงานเมื่อโปรแกรมจบการทำงานโดยสิ้นสุดการอ่านค่าในลิสต์สำหรับ for loop และเมื่อเงื่อนไขเป็นเท็จสำหรับ while loop แต่ต้องไม่จบการทำงานของลูปด้วยคำสั่ง break มาดูตัวอย่างการใช้งาน else clause กับ loop ในภาษา Python
names = ['Mateo', 'John', 'Eric', 'Mark', 'Robert']
search = 'Mark'
for n in names:
if search == n:
print(search + ' is found in list')
break
else:
print('Not found!')
search = 'Danny'
for n in names:
if search == n:
print(search + ' is found in list')
break
else:
print('Not found!')