حلقه ی for در پایتون
نویسنده : نازنین رحمانی | زمان انتشار : 09 اسفند 1399 ساعت 17:55
جهت انجام پروژه های دانشجویی و یا تمرینهای برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید
@AlirezaSepand
در این مطلب، دستور for در پایتون همراه با مثالهای متعدد، مورد بررسی قرار خواهد گرفت. حلقه for در پایتون یکی از مهمترین انواع «دستورات کنترلی» (Control Flows) است که از آن برای حلقه زدن در توالیهای گوناگون استفاده میشود. در ادامه، مفهوم حلقه for در پایتون و چگونگی نوشتن کد با استفاده از آن، همراه با مثالها و قطعه کدهای مختلف، بررسی شده است.
حلقه for در پایتون
حلقه for در پایتون برای تکرار کردن کاری در یک توالی («لیست» (List)، «تاپل» (Tuple)، «رشته» (String)) یا دیگر اشیای قابل تکرار، مورد استفاده قرار میگیرد. تکرار کردن کاری در یک توالی، «پیمایش» (Traversal) نامیده میشود.
نحو حلقه for
در ادامه، «نحو» (Syntax) حلقه for در پایتون، آورده شده است.
forval insequence: Body of for |
در اینجا، val متغیری است که مقدار هر عنصر درون توالی را طی هر تکرار دریافت میکند. حلقه تا هنگامی ادامه پیدا میکند که به آخرین آیتم در توالی برسد. بدنه حلقه for، با استفاده از «دندانهگذاری» (Indentation)، از کل کد جدا میشود.
فلوچارت حلقه 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 forval innumbers: sum=sum+val # Output: The sum is 48 print("The sum is",sum) |
خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.
تابع ()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 foriinrange(len(genre)): print("I like",genre[i]) |
خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.
Ilike pop Ilike rock Ilike jazz |
حلقه for با else
یک حلقه for، میتواند یک بلوک else انتخابی نیز داشته باشد. بخش else، در صورتی اجرا میشود که عناصر توالی مورد استفاده از حلقه for به پایان برسند. از عبارت break میتوان برای متوقف کردن حلقه for نیز استفاده کرد. در چنین شرایطی، بخش else نادیده انگاشته میشود. بنابراین، قسمت else حلقه for، در صورتی که هیچ خطایی وجود نداشته باشد اجرا میشود. در ادامه، مثالی برای حلقه for همراه با else ارائه شده است.
digits=[0,1,5] foriindigits: print(i) else: print("No items left.") |
خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.
در اینجا، حلقه for، عناصر لیست را تا هنگامی که حلقه متوقف شود، پرینت میکند. هنگامی که حلقه for متوقف شد، بلوک کد موجود در else اجرا و پرینت میشود.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
- کاربرد پایتون چیست و با آن چه میتوان کرد؟ | راهنمای کاربردی
^^
«الهام حصارکی»، فارغالتحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستمهای اطلاعات مدیریت است. او در زمینه هوش مصنوعی و دادهکاوی، به ویژه تحلیل شبکههای اجتماعی، فعالیت میکند.
بر اساس رای 50 نفر
آیا این مطلب برای شما مفید بود؟
منبع: blog.faradars.org