پیش از این، در مطلب «حلقه for در پایتون — به زبان ساده»، به بحث دستورات کنترلی و حلقه for پرداخته شد. حلقه while در پایتون، یکی دیگر از انواع دستورات کنترلی است که آشنایی با آن و درک تفاوت این نوع حلقه با حلقه for بسیار حائز اهمیت است. همانطور که در مطلب حلقه for نیز بیان شد، «حلقهها» (Loops) در برنامهنویسی برای تکرار کردن یک بلوک خاص از کد مورد استفاده قرار میگیرند. در این مطلب، روش ساخت حلقه while در پایتون آموزش داده خواهد شد.
حلقه while در پایتون
حلقه while در پایتون برای تکرار کردن یک بلوک از کد تا هنگامی که عبارت تست (شرط) صحیح باشد، مورد استفاده قرار میگیرد. معمولا از این حلقهها هنگامی استفاده میشود که تعداد تکرارها از پیش معلوم نیست.
نحو حلقه while در پایتون
whiletest_expression: Body of while |
در حلقه while، عبارت تست (شرط) ابتدا چک میشود. بدنه حلقه تنها در صورتی اجرا میشود که حاصل ارزیابی test_expression برابر با True باشد. پس از یک تکرار، عبارت تست مجددا بررسی میشود. فرایند تا جایی ادامه پیدا میکند که حاصل ارزیابی test_expression برابر با False باشد. در پایتون، بدنه حلقه while از طریق «دندانهگذاری» (Indentation) شناسایی میشود. بدنه با دندانه آغاز میشود و اولین خط بدون تورفتگی (دندانه)، نشانگر پایان حلقه است. پایتون هر مقدار غیر صفری را به عنوان True شناسایی میکند. None و صفر به عنوان False تفسیر میشوند.
فلوچارت حلقه while
مثالی از حلقه while در پایتون
در ادامه، مثالی از حلقه while در پایتون ارائه شده است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Program to add natural # numbers upto # sum = 1+2+3+...+n # To take input from the user, # n = int(input("Enter n: ")) n=10 # initialize sum and counter sum=0 i=1 whilei<=n: sum=sum+i i=i+1 # update counter # print the sum print("The sum is",sum) |
خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.
<samp>Entern:10 The sum is55</samp> |
در برنامه بالا، عبارت تست تا هنگامی «درست» (True) خواهد بود که متغیر شمارنده (Counter Variable)، یعنی i، کوچکتر یا مساوی n باشد (۱۰ در برنامه بالا). در هر تکرار از حلقه، نیاز به افزایش متغیر شمارنده در بدنه حلقه است. این مسأله بسیار مهمی است که متاسفانه برخی از برنامهنویسان تازهکار آن را فراموش میکنند. انجام چنین کاری منجر به ایجاد حلقههای بیپایان یا حلقههای نامتناهی میشود. در نهایت، در حلقهای که به درستی عمل کند و بیپایان نیز نباشد، نتایج در خروجی نمایش داده میشوند.
حلقه while با else
مانند حلقه for، میتوان حلقه while را نیز با بلوک else ترکیب کرد. بخش else در صورتی اجرا میشود که حاصل ارزیابی شرط حلقه while برابر با False باشد. حلقه while با یک دستور break متوقف میشود. در این شرایط، بخش else نادیده گرفته میشود. بنابراین، بخش else در صورتی اجرا میشود که هیچ break به وقوع نپیوندد و شرط false باشد. در ادامه، مثالی از این موضوع ارائه شده است.
# Example to illustrate # the use of else statement # with the while loop counter=0 whilecounter<3: print("Inside loop") counter=counter+1 else: print("Inside else") |
خروجی حاصل از اجرای قطعه کد بالا، به صورت زیر است.
Inside loop Inside loop Inside loop Inside else |
در اینجا، از یک متغیر شمارنده برای سه مرتبه چاپ کردن رشته Inside loop استفاده میشود. در چهارمین تکرار، شرط درون while غلط (False) خواهد بود. بنابراین، بخش else اجرا میشود.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
^^
«الهام حصارکی»، فارغالتحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستمهای اطلاعات مدیریت است. او در زمینه هوش مصنوعی و دادهکاوی، به ویژه تحلیل شبکههای اجتماعی، فعالیت میکند.
بر اساس رای 17 نفر
آیا این مطلب برای شما مفید بود؟