حلقه while در پایتون – به زبان ساده
پیش از این، در مطلب «حلقه for در پایتون — به زبان ساده»، به بحث دستورات کنترلی و حلقه for پرداخته شد. حلقه while در پایتون، یکی دیگر از انواع دستورات کنترلی است که آشنایی با آن و درک تفاوت این نوع حلقه با حلقه for بسیار حائز اهمیت است. همانطور که در مطلب حلقه for نیز بیان شد، «حلقهها» (Loops) در برنامهنویسی برای تکرار کردن یک بلوک خاص از کد مورد استفاده قرار میگیرند. در این مطلب، روش ساخت حلقه while در پایتون آموزش داده خواهد شد.
حلقه while در پایتون
حلقه while در پایتون برای تکرار کردن یک بلوک از کد تا هنگامی که عبارت تست (شرط) صحیح باشد، مورد استفاده قرار میگیرد. معمولا از این حلقهها هنگامی استفاده میشود که تعداد تکرارها از پیش معلوم نیست.
نحو حلقه while در پایتون
در حلقه while، عبارت تست (شرط) ابتدا چک میشود. بدنه حلقه تنها در صورتی اجرا میشود که حاصل ارزیابی test_expression برابر با True باشد. پس از یک تکرار، عبارت تست مجددا بررسی میشود. فرایند تا جایی ادامه پیدا میکند که حاصل ارزیابی test_expression برابر با False باشد. در پایتون، بدنه حلقه while از طریق «دندانهگذاری» (Indentation) شناسایی میشود. بدنه با دندانه آغاز میشود و اولین خط بدون تورفتگی (دندانه)، نشانگر پایان حلقه است. پایتون هر مقدار غیر صفری را به عنوان True شناسایی میکند. None و صفر به عنوان False تفسیر میشوند.
فلوچارت حلقه while
مثالی از حلقه while در پایتون
در ادامه، مثالی از حلقه while در پایتون ارائه شده است.
خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.
Enter n: 10 The sum is 55
در برنامه بالا، عبارت تست تا هنگامی «درست» (True) خواهد بود که متغیر شمارنده (Counter Variable)، یعنی i، کوچکتر یا مساوی n باشد (۱۰ در برنامه بالا). در هر تکرار از حلقه، نیاز به افزایش متغیر شمارنده در بدنه حلقه است. این مسأله بسیار مهمی است که متاسفانه برخی از برنامهنویسان تازهکار آن را فراموش میکنند. انجام چنین کاری منجر به ایجاد حلقههای بیپایان یا حلقههای نامتناهی میشود. در نهایت، در حلقهای که به درستی عمل کند و بیپایان نیز نباشد، نتایج در خروجی نمایش داده میشوند.
حلقه while با else
مانند حلقه for، میتوان حلقه while را نیز با بلوک else ترکیب کرد. بخش else در صورتی اجرا میشود که حاصل ارزیابی شرط حلقه while برابر با False باشد. حلقه while با یک دستور break متوقف میشود.
در این شرایط، بخش else نادیده گرفته میشود. بنابراین، بخش else در صورتی اجرا میشود که هیچ break به وقوع نپیوندد و شرط false باشد. در ادامه، مثالی از این موضوع ارائه شده است.
خروجی حاصل از اجرای قطعه کد بالا، به صورت زیر است.
در اینجا، از یک متغیر شمارنده برای سه مرتبه چاپ کردن رشته Inside loop استفاده میشود. در چهارمین تکرار، شرط درون while غلط (False) خواهد بود. بنابراین، بخش else اجرا میشود.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
^^
سلام طبق فلوچارت while با False شدن شرط از حلقه خارج می شود آیا با True شدن مجدد به حلقه بر می گردد؟راهکار برای این چیه؟
واقعا عالی بود. ساده و قابل فهم
چرا لقمه رو به جای اینکه مستقیم بخورید اینقد پیچیدش میکنید و می پیچونید؟!
while برای دریافت اینپوت به کار میره و تا وقتی که اینپوت ترو نباشه وارد مرحله ی بعد نمیشه.
سلام آره به یه پیش نیاز، نیاز داره
مثالش خیلی سطح بالابود
یه جورباید بنویسید که من که کلاس نمیرم هم بتونم یاد بگیرم?