حلقهها از دستورات کنترلی در پایتون هستند که در ساختارهای تکرار شونده کاربرد دارند. یعنی هرگاه بخواهیم در طول برنامه عملی را چند بار تکرار کنیم از حلقهها استفاده میکنیم. حلقهها ما را از نوشتن چندین و چندبارهی کدها بینیاز میکنند. در این پست به آموزش دستور حلقه for در پایتون (به زبان ساده) میپردازیم و تعدادی مثال از این حلقه را بررسی میکنیم.
فهرست عناوین مقاله
تفاوت حلقه ی for و while
گفتیم با استفاده از حلقهها دیگر نیازی به تکرار کدها نداریم. به طور کلی در پایتون دو حلقهی تکرار به نامهای حلقهی for و while وجود دارد. این دو حلقه را میتوان گاهی به جای هم نیز استفاده کرد؛ اما معمولا از حلقهی while زمانی استفاده میکنیم که میخواهیم یک بلاک کد تکرار شود اما نمیدانیم چندبار قرار است این تکرار اتفاق بیفتد. در مقابل، از حلقهی for برای پیمایش روی یک ساختار تکرارشونده استفاده میشود که تعداد تکرار آن مشخص باشد. به مثال زیر توجه کنید:
n = 5n = int (input(‘Enter a number:’))
m = n
:while n <= 100
print (‘number’, n)
n = n + 1
print (‘number between’,m,’ and 100′)
print (‘is finished’)
این برنامه یک عدد را از کاربر دریافت (متغیر n) و تمام اعداد بین آن و عدد 100 را نمایش میدهد. این حلقه تا زمانی که متغیر nمساوی 100 شود ادامه پیدا خواهد کرد و در هر بار تکرار آن یک واحد به متغیر اضافه میشود. خروجی این برنامه اعداد بین n تا 100 و نمایش پیامهای ‘number between n and 100’ و ‘is finished’ است. همانطور که مشاهده میکنید در این برنامه نمیدانیم که حلقه چندبار تکرار خواهد شد.
آموزش حلقه for
با حلقهی for میتوانیم مجموعهای از دستورات را به ازای هر آیتم یک بار اجرا کنیم. شکل کلی حلقهی for (نحو یا Syntax) را در تصویر زیر مشاهده میکنید:
حلقهی for به تعدادی که در عبارت بعد از in مشخص شدهاست تکرار میشود و هربار این عبارت در متغیر قرار میگیرد. متغیر در خود دستور for تعریف میشود و نیازی نیست قبل از آن تعریف شود. این قدرت زبان برنامه نویسی پایتون است و هر متغیری در آن قسمت بنویسیم آن را تفسیر کرده و میشناسد. تعداد تکرار حلقه را به سه شکل میتوانیم مشخص کنیم:
1- مشخص کردن تعداد تکرار با استفاده از کاراکتر:
با دستور زیر تعیین میکنیم که حلقه به تعداد کاراکترهای عبارت Limoonad.com بعد از in تکرار شود.
:for item in (‘Limoonad.com’)
print (item)
خروجی این قطعه کد به صورت زیر میباشد:
در این قطعه کد کاراکترهای Limoonad.com به ترتیب پیمایش شده و در متغیر item قرار میگیرند و در هر بار تکرار نمایش داده میشوند.
2- مشخص کردن تعداد تکرار با استفاده از لیست:
در پایتون میتوانیم پیش از استفاده از دستور for، یک لیست برای آن تعریف کنیم و سپس در دستور از آن استفاده کنیم. این لیست شامل هرچیزی اعم از رشته، عدد، ایمیل و… میتواند باشد. برای تعریف لیست از [ ] یا کروشه استفاده میکنیم که در برنامه نویسی به آن اسکوئر براکت (squar brucket) میگوییم و اجزای آن را با “,” از هم جدا میکنیم. مثال:
colors = [‘yellow’,’magenta’,’red’,’green’]
:for color in colors
print (color)
خروجی این برنامه به صورت زیر میباشد:
در این قطعه کد اجزای لیست colors به ترتیب پیمایش شده و در متغیر color قرار میگیرند و در هر بار تکرار نمایش داده میشوند. یعنی این حلقه به تعداد اجزای لیستی که بعد از in فراخوانی کردیم تکرار میشود.
3- مشخص کردن تعداد تکرار با استفاده از تابع () range:
گاهی ممکن است لیستی که از آن استفاده میکنیم دنبالهای از اعداد باشد. ممکن است تعداد آنها نیز زیاد باشد و امکان تعیین تک تک آنها وجود نداشته باشد. در این حالت از تابع range میتوانیم استفاده کنیم. این تابع یک رِنج یا بازه از اعداد صحیح را تولید میکند. مثلا تابع range (a,b) اعداد صحیح a تا b-1 را تولید میکند؛ زیرا این تابع با اندیس اعداد کار میکند و اندیسها نیز از 0 شروع میشوند. به عنوان مثال قطعه کد زیر را مشاهده کنید:
:for i in range (1,10)
print (i)
خروجی این قطعه کد به صورت زیر است که در آن اندیس اعداد را نیز مشخص کردهایم.
تابع ()range در پایتون:
تابع range سه آرگومان میپذیرد:
([step],[stop],[start]) range
start: این آرگومان نقطهی شروع بازه را در تابع مشخص میکند. این آرگومان اختیاری بوده و اگر آن را ننویسیم تابع به صورت خودکار آن را 0 در نظر میگیرد.
stop: آرگومان stop نقطهی پایان بازه را مشخص میکند. این آرگومان اجباری است و حتما باید مقداردهی شود.
step: برای این که مشخص کنیم پیمایش حلقه در هر گام چند تا باشد میتوانیم از این آرگومان استفاده کنیم. برای درک بهتر به مثال زیر توجه کنید:
:for i in range (5,25,5)
print (i)
همانطور که در تصویر زیر مشاهده میکنید این قطعه کد اعداد بین 5 و 25 را با گام پیمایش 2 چاپ میکند. این آرگومان نیز اختیاری است و اگر عدد 2 را در تابع ننویسیم تابع به صورت خودکار گام پیمایش را 1 در نظر میگیرد.
نکته: اگر فقط یک آرگومان در تابع range بنویسیم آن را stop یا نقطه پایان در نظر میگیرد.
آموزش حلقه for تو در تو (nested loops) در پایتون
در پایتون گاهی میتوانیم از یک یا چند حلقه در دل حلقهای دیگر استفاده کنیم. به چنین حلقههایی حلقههای تو در تو یا nested loops، به حلقهی بیرونی outer loop و به حلقهی درونی inner loop میگوییم. در دو حلقهی تو در تو به ازای هر یک بار تکرار حلقهی بیرونی، حلقهی درونی تمام تکرارهای خود را انجام میدهد. به عبارت دیگر در ازای پیمایش اولین متغیر در حلقهی بیرونی، تمام متغیرهای حلقهی درونی پیمایش میشوند. برای اینکه مفهوم حلقههای تو در تو را بهتر درک کنید به مثال زیر توجه کنید:
colors = [‘yellow’,’red’,’green’]
pencils = [‘big pencil’,’small pencil’]
:for color in colors
:for pencil in pencils
print (color,pencil)
خروجی این دستور به صورت زیر خواهد بود. یعنی به ازای یک بار نمایش عبارت “yellow”، هر دو عبارت “big pencil” و “small pencil” یک بار نمایش داده میشوند و باقی اجزای لیستها نیز از همین قاعده پیروی میکنند.
معرفی بهترین دوره های آموزش پایتون
حلقهها بخشی بسیار کوچک اما پرکاربرد در زبانهای برنامه نویسی مخصوصا زبان برنامه نویسی پایتون هستند. در این پست سعی کردیم به صورت مختصر به آموزش دستور حلقه for در پایتون (به زبان ساده) بپردازیم. اما دنیای پایتون بسیار گستردهتر از چند دستور ساده است و همانطور که در پردرآمدترین زبان های برنامه نویسی گفتیم پایتون یک زبان برنامه نویسی همهمنظوره است و قابلیت برنامه نویسی برای پلتفرمهای مختلف را دارد. امروزه در حوزههای طراحی سایت، طراحی نرم افزار و اپلیکیشن موبایل، همچنین یادگیری عمیق (Deep Learning)، یادگیری ماشین (Machine Learning)، هوش مصنوعی، علوم داده و… نیز کاربرد دارد.
ما در لیموناد مجموعهی ارزشمندی از آموزشهای زبان پایتون برای نوجوانان و بزرگسالان عزیز فراهم کردهایم که لینکهای دسترسی به آنها را در ادامه برای شما قرار دادهایم:
آموزش برنامه نویسی پایتون ویژه کودک و نوجوان
آموزش برنامه نویسی پایتون برای نوجوانان همراه با پروژه
دوره آموزش پایتون از صفر | مناسب برای شروع برنامه نویسی
آموزش پروژه محور ساخت باج افزار با پایتون
به همراه چندین آموزش رایگان و غیر رایگان برنامه نویسی با پایتون که از طریق لینک زیر در لیموناد به آنها دسترسی خواهید داشت: