برنامه نویسی ۲۶۰۶۸ بازدید

در این مطلب، دستور for در پایتون همراه با مثال‌های متعدد، مورد بررسی قرار خواهد گرفت. حلقه for در پایتون یکی از مهم‌ترین انواع «دستورات کنترلی» (Control Flows) است که از آن برای حلقه زدن در توالی‌های گوناگون استفاده می‌شود. در ادامه، مفهوم حلقه for در پایتون و چگونگی نوشتن کد با استفاده از آن، همراه با مثال‌ها و قطعه کدهای مختلف، بررسی شده است.

حلقه for در پایتون

حلقه for در پایتون برای تکرار کردن کاری در یک توالی («لیست» (List)، «تاپل» (Tuple)، «رشته» (String)) یا دیگر اشیای قابل تکرار، مورد استفاده قرار می‌گیرد. تکرار کردن کاری در یک توالی، «پیمایش» (Traversal) نامیده می‌شود.

نحو حلقه for

در ادامه، «نحو» (Syntax) حلقه for در پایتون، آورده شده است.

for val in sequence:
	Body of for

در اینجا، val متغیری است که مقدار هر عنصر درون توالی را طی هر تکرار دریافت می‌کند. حلقه تا هنگامی ادامه پیدا می‌کند که به آخرین آیتم در توالی برسد. بدنه حلقه for، با استفاده از «دندانه‌گذاری» (Indentation)، از کل کد جدا می‌شود.

فلوچارت حلقه for

در تصویر زیر، فلوچارت حلقه for در پایتون را مشاهده می‌کنید.

فلوچارت حلقه for در پایتون

مثالی از حلقه‌ها در پایتون

در قطعه کد زیر، مثالی از یک حلقه for در پایتون را مشاهده می‌کنید.

# Program to find the sum of all numbers stored in a list

# List of numbers
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]

# variable to store the sum
sum = 0

# iterate over the list
for val in numbers:
	sum = sum+val

# Output: The sum is 48
print("The sum is", sum)

خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.

The sum is 48

تابع ()range در پایتون

می‌توان یک توالی از اعداد را با استفاده از تابع ()range تولید کرد. (range(10، اعداد از ۰ تا ۹ را تولید می‌کند (ده عدد). همچنین، می‌توان سایز شروع، پایان و گام را به عنوان (range(start,stop,step size تعریف کرد. سایز گام به طور پیش‌فرض و در صورتی که مقدار دهی نشده باشد، برابر با یک خواهد بود. این تابع، همه مقادیر را در حافظه ذخیره نمی‌کند زیرا موجب عدم کارایی می‌شود. این در حالی است که نقطه شروع، توقف و سایز گام را به خاطر دارد و عدد بعدی را ضمن تکرار می‌سازد. برای مجبور کردن این تابع به خروجی دادن همه عناصر، می‌توان از تابع ()list استفاده کرد. مثال زیر، این موضوع را شفاف خواهد کرد.

# Output: range(0, 10)
print(range(10))

# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(10)))

# Output: [2, 3, 4, 5, 6, 7]
print(list(range(2, 8)))

# Output: [2, 5, 8, 11, 14, 17]
print(list(range(2, 20, 3)))

می‌توان از تابع ()range برای حلقه‌ها به منظور تکرار کردن یک توالی از اعداد استفاده کرد. این تابع را می‌توان با تابع ()len برای تکرار کردن کاری در یک توالی با استفاده از اندیس‌دهی، ترکیب کرد. در ادامه، مثالی در همین رابطه ارائه شده است.

# Program to iterate through a list using indexing

genre = ['pop', 'rock', 'jazz']

# iterate over the list using index
for i in range(len(genre)):
	print("I like", genre[i])

خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.

I like pop
I like rock
​I like jazz

حلقه for با else

یک حلقه for، می‌تواند یک بلوک else انتخابی نیز داشته باشد. بخش else، در صورتی اجرا می‌شود که عناصر توالی مورد استفاده از حلقه for به پایان برسند. از عبارت break می‌توان برای متوقف کردن حلقه for نیز استفاده کرد. در چنین شرایطی، بخش else نادیده انگاشته می‌شود. بنابراین، قسمت else حلقه for، در صورتی که هیچ خطایی وجود نداشته باشد اجرا می‌شود. در ادامه، مثالی برای حلقه for همراه با else ارائه شده است.

digits = [0, 1, 5]

for i in digits:
    print(i)
else:
    print("No items left.")

خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.

0
1
5
No items left.

در اینجا، حلقه for، عناصر لیست را تا هنگامی که حلقه متوقف شود، پرینت می‌کند. هنگامی که حلقه for متوقف شد، بلوک کد موجود در else اجرا و پرینت می‌شود.

No items left.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۷۰ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

5 نظر در “آموزش حلقه for در پایتون | + range در پایتون | به زبان ساده

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد.