حلقه در پایتون
در این جلسه از آموزش رایگان پایتون، میخواهیم حلقه در پایتون را آموزش دهیم. حلقهها انجام عملیات تکراری را آسان میکنند. در این جلسه میخواهیم حلقه for در پایتون و حلقه while در پایتون را آموزش دهیم. با هوسم همراه باشید…
مقدمهای بر حلقه در پایتون
حلقهها برای انجام عملیات تکراری استفاده میشوند. عملیات تکراری یعنی چه؟ مثلا اگر از شما خواسته شده باشد که در پایتون یک کلمه را 10 بار بنویسید! چه کار میکنید؟ آیا دست به کیبورد میشوید و 10 بار آن را پرینت میکنید. اما احتمالا همه شما میدانید که با وجود حلقهها نیازی به این کار نیست.
حلقهها انجام عملیات تکراری را آسان میکنند. به کمک for و while، میتوان یک حلقه در پایتون نوشت! در این جلسه نحوه نوشتن حلقه در پایتون با کمک این دو دستور را خواهیم گفت. حلقهها بسیار مهم و در عین حال کاربردی هستند. پس این جلسه را با دقت بخوانید و تمرین کنید…
حلقه for در پایتون
یکی از دستورهایی که برای نوشتن حلقه در پایتون استفاده میشود، دستور for در پایتون است. با استفاده از for در پایتون میتوانید یک یا چند دستور را به هر تعداد که دلتان بخواهد تکرار کنید! اما باید بدانید که همانند دستورات شرطی، حلقه for در پایتون هم یک تمپلیت مشخص دارد:

دستور for در پایتون ساختاری مشابه با تصویر بالا دارد. در هر حلقهای که با for مینویسیم باید ساختار بالا رعایت شود. مشاهده میکنید که چند عبارت وجود دارند که با رنگ قرمز نوشته شدهاند. اینها کلمات کلیدی هستند که حتما باید در حلقه for در پایتون وجود داشته باشند.
iterator مجموعهای از آبجکتها است، مثل بردار، لیست و غیره. در هر تکرار یکی از آبجکتهای داخل لیست یا بردار انتخاب شده و در متغیر var قرار میگیرد. هیچ لزومی ندارد بنویسید var، هر اسمی که دوست دارید میتوانید به جای var استفاده کنید. در loop body، کدهایی که میخواهیم تکرار شوند، نوشته میشوند. دقت کنید که بدنه for، از سر خط فاصله دارد!
indentation در پایتون یعنی چه ؟
کدهایی که در قسمت loop body نوشته میشوند، به اندازه 4 تا space از سر خط فاصله دارند. به این فاصله، indentation گفته میشود. عبارت indentation به معنای تو رفتگی است. هدف از indentation این است که کدها خواناتر شوند. indentation مشخص میکند که کدام کدها در بدنه حلقه هستند و تکرار میشوند! در شکل 1، ما indentation را با بلوکهای خاکستری نشان دادهایم.
تا اینجا ساختار حلقه در پایتون با استفاده از دستور for را گفتیم. در ادامه به صورت عملی با حلقه for آشنا خواهید شد. برویم سراغ بخش بعدی…
یک مثال ساده از for در پایتون
فرض کنید لیستی از اعداد 1 تا 5 به ما داده شده است. بعد از ما خواسته شده که یکی یکی این اعداد در خروجی نمایش داده شوند! خب یک عملیات تکراری است درست است؟ و ما گفتیم که برای حلقه در پایتون، دو دستور وجود دارند که خورهی تکرار هستند. و یکی از این دستورها، for است.
خب! بار دیگر نگاهی به تمپلیت حلقه for در پایتون بیندازید! برای انجام وظیفهای که به ما سپرده شده، ابتدا لیست مورد نظر را تعریف میکنیم:
my_list = [1, 2, 3, 4, 5]
خب حالا حلقه for را به شکل زیر مینویسیم:
for num in my_list: print(num)
در بدنه حلقه، کدی که میخواهیم تکرار شود، یعنی print را مینویسیم. نتیجه اجرای کد بالا به شکل زیر خواهد بود:
1 2 3 4 5
مشاهده میکنید که کد ما از یک تا پنج را پرینت کرده است! اگر کار با لیست را فراموش کردهاید به جلسه «لیست در پایتون» مراجعه کنید.
مثال دوم از دستور for در پایتون
این بار یک وظیفه جدید از ما خواسته شده است! لیستی از میوهها به ما داده شده و از ما خواسته شده است که نام این میوهها یکی یکی در خروجی نمایش داده شود. این میوهها عبارتند از : apple، banana و cherry.
خب، باز ابتدا یک لیست تعریف میکنیم که نام میوهها را در خود داشته باشد:
fruits = ['apple', 'banana', 'cherry']
بعد مشابه مثال قبل، حلقه را به شکل زیر مینویسیم:
for fruit in fruits: print(fruit)
با اجرای دستور بالا خواهیم داشت:
apple banana cherry
مشاهده میکنید که نام میوهها یکی یکی در خروجی نمایش داده شد!
ترکیب دستور if با دستور for در پایتون
این بار یک کار پیچیده به ما سپرده شده است! از ما خواسته شده که از بین اعداد 1 تا 10، اعداد فرد را در خروجی چاپ کنیم. خب چکار کنیم؟ باید یکی یکی اعداد یک تا 10 را بررسی کنیم. اگر آن عدد فرد باشد، آن را در خروجی نمایش دهیم. وقتی میگوییم «اگر»، یعنی باید از دستورات شرطی استفاده کنیم. پس، از حلقه for در پایتون و دستور if در پایتون باید استفاده کنیم.
ابتدا لیست را تعریف میکنیم:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
خب حالا باید در این لیست حلقه بزنیم و اگر عدد فرد بود آن را پرینت کنیم. به راحتی میتوانیم باقیمانده تقسیم عدد بر 2 را با کمک عملگر % محاسبه کنیم. اگر باقیمانده برابر با 1 باشد، آن عدد فرد است و باید پرینت شود. بنابراین کد را به صورت زیر مینویسیم:
for num in my_list: if num % 2 == 1: print(num)
با اجرای کد بالا خواهیم داشت:
1 3 5 7 9
خب مشاهده میکنید که نتیجه مطلوبمان حاصل شد. اگرچه این نتیجه را با روشهای سادهتری نیز میتوان به دست آورد! اما اینجا هدف ما آموزش حلقه است.
حلقه while در پایتون
حلقه while در پایتون هم مانند حلقه for، یک ساختار مشخص دارد. در تصویر زیر ساختار while در پایتون را مشاهده میکنید:
عبارت while و علامت کولن (:)، عبارات کلیدی برای حلقه while در پایتون هستند. یعنی همیشه باید باشند! عبارت condition همانطور که از اسمش پیداست، یک شرط است. تا زمانی که این شرط برقرار باشد، دستوری که در loop body نوشته شده است، تکرار خواهد شد! تا هر وقت هااا 😄. یعنی ممکن است یک شرط همیشه برقرار باشد، آنگاه حلقه تا ابد تکرار میشود! مشاهده میکنید که indentation برای دستوراتی که در بدنه while نوشته میشوند نیز باید رعایت شود. تئوری کافی است. در مثالها بهتر این دستور را درک خواهید کرد…
شمارش با while در پایتون
میخواهیم مثال اولی که با for حل کردیم را این بار با حلقه while در پایتون انجام دهیم. یعنی میخواهیم اعداد 1 تا 5 را با کمک while در پایتون، یکی یکی در خروجی نمایش دهیم! برای این کار ابتدا یک شمارنده تعریف میکنیم که مقدارش 1 باشد. بعد میگوییم تا زمانی که مقدار این شمارنده، کوچکتر یا مساوی با 5 باشد، شمارنده را پرینت کند. بعد از پرینت، یک واحد به شمارنده اضافه میشود تا عدد بعدی را بتوانیم نمایش دهیم. این کد به شکل زیر خواهد بود:
cnt = 1 while cnt <= 5: print(cnt) cnt += 1
با اجرای کد بالا خواهیم داشت:
1 2 3 4 5
مشاهده میکنید که به نتیجه دلخواه رسیدیم.
فاکتوریل با حلقه while در پایتون !
در این مثال میخواهیم با کمک while در پایتون، کدی بنویسیم که بتواند مقدار فاکتوریل یک عدد را محاسبه کند! فاکتوریل یعنی چه؟ فاکتوریلِ یک عدد برابر با حاصلضرب آن عدد در همه اعداد طبیعی کوچکتر از خود (به جز صفر) است. پس ما باز هم یک کانتر نیاز داریم. در هر تکرار باید یک واحد از این کانتر یا شمارنده کم شده و در عدد مورد نظرمان ضرب شود:
num = 4 cnt = num - 1 while cnt > 0: num *= cnt cnt -= 1 print(num)
عددی که میخواهیم فاکتوریلِ آن را محاسبه کنیم num است. cnt همان شمارنده است که مقدارش را یک واحد کمتر از num در نظر میگیریم. بعد تا زمانی که شمارنده به صفر نرسیده این حلقه تکرار میشود. و در هر تکرار مقدار شمارنده در num ضرب شده و دوباره در num ذخیره میشود. سپس از شمارنده یک واحد کم شده و حلقه تکرار میشود! بدین ترتیب مقدار فاکتوریل برای عدد num محاسبه میشود. با اجرای کد بالا ما نتیجه زیر را خواهیم داشت:
24
آیا درست است؟ یعنی !4 میشود 24؟
جمعبندی
این جلسه اختصاص به حلقه در پایتون داشت. دو حلقه for و while در پایتون را معرفی کردیم. برای هر کدام مثالهایی حل کردیم. امیداوارم این جلسه مورد توجه شما قرار گرفته باشد. سوالات و نظرات خود را برایمان کامنت کنید. به کامنت ها در اسرع وقت پاسخ خواهیم داد.
مطالب زیر را حتما مطالعه کنید
دستورهای پراستفاده pip
علامت تقسیم ، باقیمانده و خارج قسمت در پایتون
نصب کتابخانه matplotlib در پایتون
کوندا چیست
آموزش matplotlib در پایتون
آموزش کتابخانه numpy در پایتون
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
خیلی بیان ومفهوم رسانی شیوا بود