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

۹۱۵۱ بازدید
آخرین به‌روزرسانی: ۲۷ اردیبهشت ۱۴۰۲
زمان مطالعه: ۳ دقیقه
آموزش حلقه for در پایتون | + range در پایتون | به زبان ساده

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

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

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

نحو حلقه for

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

1for val in sequence:
2	Body of for

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

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

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

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

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

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

1# Program to find the sum of all numbers stored in a list
2
3# List of numbers
4numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
5
6# variable to store the sum
7sum = 0
8
9# iterate over the list
10for val in numbers:
11	sum = sum+val
12
13# Output: The sum is 48
14print("The sum is", sum)

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

The sum is 48

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

می‌توان یک توالی از اعداد را با استفاده از تابع ()range تولید کرد. (range(10، اعداد از ۰ تا ۹ را تولید می‌کند (ده عدد). همچنین، می‌توان سایز شروع، پایان و گام را به عنوان (range(start,stop,step size تعریف کرد.

سایز گام به طور پیش‌فرض و در صورتی که مقدار دهی نشده باشد، برابر با یک خواهد بود. این تابع، همه مقادیر را در حافظه ذخیره نمی‌کند زیرا موجب عدم کارایی می‌شود. این در حالی است که نقطه شروع، توقف و سایز گام را به خاطر دارد و عدد بعدی را ضمن تکرار می‌سازد. برای مجبور کردن این تابع به خروجی دادن همه عناصر، می‌توان از تابع ()list استفاده کرد. مثال زیر، این موضوع را شفاف خواهد کرد.

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

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

1# Program to iterate through a list using indexing
2
3genre = ['pop', 'rock', 'jazz']
4
5# iterate over the list using index
6for i in range(len(genre)):
7	print("I like", genre[i])

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

1I like pop
2I like rock
3​I like jazz

حلقه for با else

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

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

1digits = [0, 1, 5]
2
3for i in digits:
4    print(i)
5else:
6    print("No items left.")

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

10
21
35
4No items left.

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

No items left.

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

^^

بر اساس رای ۹۹ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Programiz
۵ دیدگاه برای «آموزش حلقه for در پایتون | + range در پایتون | به زبان ساده»

سلام.شما معلم خصوصی هستید؟
اگه میشه مقداری برنامه نویسی یاد بدین
من خودم تو مدرسه تا for رو یاد گرفتم.ولی بقیشو نفهمیدم و از مدرسه جا موندم.خوشحال میشم که کمکم کنید:)
اگر موافق بودید اعلام کنید
با تشکر

با سلام؛

از همراهی شما با مجله فرادرس سپاس‌گزاریم. برای فراگیری یک زبان برنامه‌نویسی، شما باید ابتدا با مبانی کامپیوتر، برخی از مباحث جبرخطی و مبانی برنامه‌نویسی آشنا شوید. در این راستا، مشاهده ویدئوهای آموزشی زیر به شما پیشنهاد می‌شود:

برای یادگیری سایر مباحث برنامه‌نویسی، می‌توانید از مقالات مجله فرادرس استفاده کنید.

از جمله مقالات آموزش برنامه‌نویسی مجله فرادرس که می‌تواند برای شما در ابتدای کار مفید واقع شود، می‌توان به مواردز یر اشاره کرد:

برای فراگیری یک زبان برنامه‌نویسی به طور کامل، استفاده از آموزش‌های ویدئویی، به زبان فارسی و همراه با مثال موجود در فرادرس پیشنهاد می‌شود. برخی از فیلم‌های آموزش برنامه‌نویسی مناسب شما در ادامه معرفی شده‌اند:

برای مشاهده فهرست کامل فیلم‌های آموزش برنامه‌نویسی فرادرس، روی لینک زیر کلیک کنید.

سلام چطور میتونم در کتابخانه telethon کاری کنم که سورس شماره ها رو از یه فایل بگیره و وقتی اجراش کردم یکی یکی بره تو شماره ها (با استفاده از session) و همه شماره هارو عضو کانالی که تعیین کردم بکنه

سلام مثال بخش else ناقص هست و مثال مربوط به دستور if نمایش داده نشده

با سلام؛

از همراهی شما با مجله فرادرس سپاس‌گزارم. کد موجود در مطلب صحیح است؛ در متن، کلمه if به else تغییر پیدا کرد.

سپاس‌گزارم.

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *