มีลูปสองประเภทในภาษา Python คือ for และ while
ลูป for ทำงานวนซ้ำผ่านลำดับที่ให้มา ตัวอย่างเช่น:
primes = [2, 3, 5, 7]
for prime in primes:
print(prime)ลูป for สามารถวนซ้ำผ่านลำดับของตัวเลขโดยใช้ฟังก์ชัน "range" และ "xrange" ความแตกต่างระหว่าง range และ xrange คือฟังก์ชัน range จะคืนค่ารายการใหม่ที่มีตัวเลขของช่วงที่กำหนดไว้ ในขณะที่ xrange จะคืนค่าเป็นตัวสร้างซึ่งมีประสิทธิภาพมากกว่า (Python 3 ใช้ฟังก์ชัน range ที่ทำงานเหมือน xrange) สังเกตว่าฟังก์ชัน range จะเริ่มจากศูนย์
# แสดงผล 0,1,2,3,4
for x in range(5):
print(x)
# แสดงผล 3,4,5
for x in range(3, 6):
print(x)
# แสดงผล 3,5,7
for x in range(3, 8, 2):
print(x)ลูป while ทำงานวนซ้ำตราบใดที่เงื่อนไขบูลีนเป็นจริง ตัวอย่างเช่น:
# แสดงผล 0,1,2,3,4
count = 0
while count < 5:
print(count)
count += 1 # เท่ากับ count = count + 1break ใช้เพื่อออกจากลูป for หรือ while ในขณะที่ continue ใช้เพื่อข้ามบล็อคปัจจุบันและกลับไปยังคำสั่ง "for" หรือ "while" ตัวอย่างบางส่วน:
# แสดงผล 0,1,2,3,4
count = 0
while True:
print(count)
count += 1
if count >= 5:
break
# แสดงผลเฉพาะเลขคี่ - 1,3,5,7,9
for x in range(10):
# ตรวจสอบถ้า x เป็นเลขคู่
if x % 2 == 0:
continue
print(x)แตกต่างจากภาษาอื่นเช่น C, CPP... เราสามารถใช้ else กับลูปได้ เมื่อเงื่อนไขของคำสั่ง "for" หรือ "while" ไม่เป็นจริงแล้ว โค้ดส่วนใน "else" จะถูกดำเนินการ หากมีการใช้คำสั่ง break ภายในลูป for ส่วน "else" จะถูกข้ามไป สังเกตว่าส่วน "else" จะถูกดำเนินการแม้ว่าจะมีคำสั่ง continue ก็ตาม
นี่คือตัวอย่างบางส่วน:
# แสดงผล 0,1,2,3,4 และจากนั้นแสดง "count value reached 5"
count=0
while(count<5):
print(count)
count +=1
else:
print("count value reached %d" %(count))
# แสดงผล 1,2,3,4
for i in range(1, 10):
if(i%5==0):
break
print(i)
else:
print("this is not printed because for loop is terminated because of break but not due to fail in condition")วนซ้ำและแสดงผลเฉพาะตัวเลขคู่จากรายการ numbers ในลำดับเดียวกับที่ได้รับ อย่าแสดงผลตัวเลขใดที่มาหลังจาก 237 ในลำดับ