حلقه for
و دیگر ساختارهای تکرار در پایتون
در بسیاری از مواقع نیاز داریم یک عملیات را برای هر عضو یک لیست یا دنباله تکرار کنیم. در چنین شرایطی از حلقههای تکرار استفاده میشود. یکی از روشهای ابتدایی، استفاده از حلقه while
به همراه یک شمارنده است:
words = ["hello", "world", "spam", "eggs"]
cnt = 0
while cnt < len(words):
word = words[cnt]
print(word + "!")
cnt += 1
خروجی:
hello!
world!
spam!
eggs!
نکته: در مثال بالا، با استفاده از اندیسها به اعضای لیست دسترسی پیدا کردیم. این روش هرچند رایج است، اما نیاز به کد بیشتر و دقت بالاتری دارد. پایتون یک روش سادهتر و خواناتر ارائه میدهد: استفاده از حلقه for
روی خود لیست.
words = ["hello", "world", "spam", "eggs"]
for word in words:
print(word + "!")
خروجی:
hello!
world!
spam!
eggs!
ترکیب for
با range
برای تکرارهای مشخص
اگر بخواهید عملیاتی را تعداد مشخصی تکرار کنید، میتوانید از ترکیب for
و range()
استفاده کنید:
for i in range(5):
print("hello!")
خروجی:
hello!
hello!
hello!
hello!
hello!
مثالهای بیشتر برای درک بهتر
چاپ اندیسها و عناصر لیست با range
و len
:
words = ["python", "rocks", "so", "much"]
for i in range(len(words)):
print(f"{i}: {words[i]}")
خروجی:
0: python
1: rocks
2: so
3: much
استفاده از enumerate
برای سادهتر کردن کد بالا:
for index, word in enumerate(words):
print(f"{index}: {word}")
خروجی:
0: python
1: rocks
2: so
3: much
استفاده از else
همراه با حلقهها
در پایتون میتوانید همراه با for
یا while
از بخش else
استفاده کنید. این بخش زمانی اجرا میشود که حلقه بهصورت طبیعی (بدون break
) تمام شود.
for num in range(5):
print(num)
else:
print("تمام اعداد چاپ شدند.")
خروجی:
0
1
2
3
4
تمام اعداد چاپ شدند.
اما اگر در طول حلقه از break
استفاده شود، else
اجرا نخواهد شد:
for num in range(5):
if num == 3:
break
print(num)
else:
print("تمام شد.")
خروجی:
0
1
2