حلقه while در پایتون؛ آموزش حلقه و break و continue
🐍 جلسه ۱۵ آموزش پایتون: حلقه while و کنترل تکرار حلقه while در پایتون با مثالهای کاربردی؛ یادگیری حلقه بینهایت، break، continue و ساخت حلقههای شرطی به زبان ساده. تحقیق و تدوین مهدی گمرکی 📌 مرور جلسه قبل در جلسه ۱۴ با عملگرهای منطقی در پایتون آشنا شدیم و ی…
خلاصه تحلیلی خبر
🐍 جلسه ۱۵ آموزش پایتون: حلقه while و کنترل تکرار حلقه while در پایتون با مثالهای کاربردی؛ یادگیری حلقه بینهایت، break، continue و ساخت حلقههای شرطی به زبان ساده. تحقیق و تدوین مهدی گمرکی 📌 مرور جلسه قبل در جلسه ۱۴ با عملگرهای منطقی در پایتون آشنا شدیم و ی…
موضوعات اصلی: پشتیبانی شبکه، number، حلقه، print، عدد، while
🐍 جلسه ۱۵ آموزش پایتون: حلقهwhileو کنترل تکرار
حلقه while در پایتون با مثالهای کاربردی؛ یادگیری حلقه بینهایت، break، continue و ساخت حلقههای شرطی به زبان ساده.
تحقیق و تدوینمهدی گمرکی
📌 مرور جلسه قبل
در جلسه ۱۴ باعملگرهای منطقی در پایتونآشنا شدیم و یاد گرفتیم چگونه با استفاده ازandorوnotچند شرط را با یکدیگر ترکیب کنیم.
همچنینشرطهای تودرتورا بررسی کردیم و دیدیم که چگونه میتوانیم تصمیمگیریهای چندمرحلهای ایجاد کنیم.
برای مثال
age = 20 has_ticket = True if age >= 18 and has_ticket: print("ورود مجاز است.") else: print("ورود غیرمجاز است.")در این مرحله برنامه ما میتواندشرایط مختلف را بررسی و بر اساس آنها تصمیمگیری کند.
اما یک سؤال مهم باقی میماند
اگر بخواهیم یک دستور را چندین بار اجرا کنیم، آیا باید همان کد را بارها بنویسیم؟
مثلاً اگر بخواهیم عددهای ۱ تا ۱۰۰ را چاپ کنیم، آیا باید ۱۰۰ خطprintبنویسیم؟
قطعاً نه! 😎
اینجاست که یکی از مهمترین مفاهیم برنامهنویسی وارد میشود
🔁 حلقهها (Loops)
🎯 هدف جلسه ۱۵
در این جلسه میخواهیم با مفهومحلقه در پایتونآشنا شویم و یاد بگیریم چگونه یک بخش از برنامه را چندین بار اجرا کنیم.
در پایان این جلسه میتوانید
- مفهوم حلقه را توضیح دهید.
- با ساختار
whileکار کنید. - شرط ادامه حلقه را تعریف کنید.
- مقدار یک متغیر را در هر تکرار تغییر دهید.
- از حلقههای بینهایت جلوگیری کنید.
- با
breakاز حلقه خارج شوید. - با
continueیک تکرار را رد کنید. - حلقههای ساده و کاربردی بنویسید.
🔄 حلقه در پایتون چیست؟
گاهی لازم است یک عملیات چندین بار تکرار شود.
برای مثال
- چاپ اعداد ۱ تا ۱۰
- دریافت چند ورودی از کاربر
- تلاش مجدد برای وارد کردن رمز عبور
- شمارش تعداد آیتمها
- تکرار یک عملیات تا زمانی که یک شرط برقرار باشد
به جای اینکه کد را چندین بار بنویسیم، میتوانیم ازحلقه (Loop)استفاده کنیم.
حلقه به زبان ساده یعنی
یک بخش از کد را تا زمانی که یک شرط برقرار است، دوباره و دوباره اجرا کن.
در پایتون چند نوع حلقه وجود دارد که مهمترین آنهاwhileوforهستند.
در این جلسه ابتدا باwhileآشنا میشویم.
🐍 حلقهwhileدر پایتون چیست؟
کلمهwhileدر پایتون برای ساخت حلقهای استفاده میشود که تا زمانی که یک شرطTrueباشد، اجرای کد داخل حلقه ادامه پیدا میکند.
ساختار کلی
while شرط: دستورات حلقهمیتوان این ساختار را اینطور تصور کرد
آیا شرط درست است؟ ↓ بله ↓ اجرای کد داخل حلقه ↓ بررسی دوباره شرط ↓ بله ↓ اجرای دوباره ↓ ... ↓ خیر ↓ خروج از حلقهبنابراینwhileشباهت زیادی به یکifدارد؛ با این تفاوت کهifمعمولاً یک بار شرط را بررسی میکند، اماwhileمیتواند تا زمانی که شرط برقرار است، کد رابارها اجرا کند.
🔢 اولین مثالwhile
فرض کنید میخواهیم اعداد ۱ تا ۵ را چاپ کنیم
number = 1 while number <= 5: print(number) number += 1خروجی
۱ ۲ ۳ ۴ ۵اما پشت صحنه چه اتفاقی میافتد؟
ابتدا
number = 1سپس پایتون شرط را بررسی میکند
number <= 5چون۱ <= ۵درست است، وارد حلقه میشود و عدد ۱ را چاپ میکند.
سپس
number += 1مقدارnumberرا یک واحد افزایش میدهد.
حالا مقدار متغیر ۲ است.
پایتون دوباره شرط را بررسی میکند
۲ <= ۵ → Trueپس حلقه ادامه پیدا میکند.
این روند تا زمانی ادامه پیدا میکند که
۶ <= ۵ → Falseدر این لحظه پایتون از حلقه خارج میشود.
🧠 چرا تغییر متغیر داخل حلقه مهم است؟
به این قسمت دقت کنید
number += 1این خط بسیار مهم است.
اگر مقدارnumberرا تغییر ندهیم، شرط همیشه درست باقی میماند.
مثلاً
number = 1 while number <= 5: print(number)در اینجا مقدارnumberهمیشه برابر ۱ باقی میماند.
پس
۱ <= ۵ → True ۱ <= ۵ → True ۱ <= ۵ → True ...و حلقه هرگز تمام نمیشود!
به چنین وضعیتیحلقه بینهایت (Infinite Loop)میگوییم.
⚠️ حلقه بینهایت در پایتون
حلقه بینهایت یعنی حلقهای که شرط خروج از آن هیچوقت برقرار نمیشود.
مثال
number = 1 while number <= 5: print(number)این برنامه دائماً عدد ۱ را چاپ میکند.
برای جلوگیری از این مشکل، باید مطمئن شویم که در هر تکرار، شرایط به سمت پایان حلقه حرکت میکند.
مثلاً
number = 1 while number <= 5: print(number) number += 1اکنون مقدار متغیر در هر مرحله افزایش پیدا میکند و سرانجام شرطFalseمیشود.
📊 اجزای اصلی یک حلقهwhile
یک حلقه معمولاً سه بخش مهم دارد
۱. مقداردهی اولیه
number = 1۲. شرط ادامه
while number <= 5۳. تغییر وضعیت
number += 1بنابراین یک الگوی بسیار رایج در حلقههایwhileاین است
variable = مقدار_اولیه while شرط: # انجام عملیات variable += تغییراین الگو را خوب یاد بگیرید؛ در بسیاری از برنامههای آینده با آن روبهرو خواهید شد.
🔢 مثال: شمارش معکوس
حلقهwhileفقط برای افزایش اعداد نیست.
میتوانیم شمارش معکوس هم انجام دهیم
count = ۵ while count >= ۱: print(count) count -= ۱ print("شروع!")خروجی
۵ ۴ ۳ ۲ ۱ شروع!در اینجا به جای+=از=استفاده کردهایم.
👤 مثال کاربردی: دریافت عدد تا زمانی که مقدار صحیح وارد شود
یکی از کاربردهای مهمwhileاین است که از کاربر بخواهیم تا زمانی که ورودی مناسبی وارد نکرده، دوباره تلاش کند.
مثلاً
number = int(input("یک عدد مثبت وارد کنید: ")) while number <= ۰: print("عدد باید مثبت باشد.") number = int(input("دوباره وارد کنید: ")) print("عدد معتبر است.")در این برنامه
- اگر عدد مثبت باشد، حلقه اجرا نمیشود.
- اگر عدد صفر یا منفی باشد، برنامه از کاربر دوباره ورودی میگیرد.
- این روند تا زمانی ادامه دارد که کاربر یک عدد مثبت وارد کند.
این دقیقاً یکی از کاربردهای واقعی حلقهwhileاست.
🔐 مثال کاربردی: تلاش برای ورود رمز عبور
فرض کنید یک برنامه ساده میخواهیم که تا زمانی که رمز درست وارد نشده، از کاربر رمز بخواهد
password = "" while password != "python123": password = input("رمز عبور را وارد کنید: ") print("ورود موفق بود! ✅")در اینجا شرط حلقه این است
password != "python123"تا زمانی که رمز اشتباه باشد، مقدار شرطTrueاست و حلقه ادامه پیدا میکند.
وقتی کاربر رمز صحیح را وارد کند
password != "python123"برابرFalseمیشود و حلقه پایان پیدا میکند.
البته این مثال صرفاً برایآموزش مفهوم حلقهاست و در برنامههای واقعی نباید رمز عبور را به این شکل داخل کد قرار داد.
🛑 دستورbreakدر پایتون
گاهی اوقات میخواهیم حتی اگر شرط حلقه هنوزTrueباشد، خودمان از حلقه خارج شویم.
برای این کار ازbreakاستفاده میکنیم.
مثال
number = 1 while number <= 10: print(number) if number == ۵: break number += 1خروجی
۱ ۲ ۳ ۴ ۵وقتی مقدارnumberبه ۵ رسید، این دستور اجرا میشود
breakو پایتونبلافاصله حلقه را متوقف میکند.
پس
breakیعنی «از حلقه خارج شو».
🎯 مثال کاربردیbreak
فرض کنید از کاربر عدد میگیریم و میخواهیم تا زمانی که عدد۰وارد نشده، برنامه ادامه داشته باشد
while True: number = int(input("یک عدد وارد کنید: ")) if number == ۰: break print(f"عدد واردشده: {number}") print("برنامه پایان یافت.")در اینجا با یک نکته جدید روبهرو میشویم
while Trueاین حلقه در حالت عادی یکحلقه بینهایتاست.
اما ما عمداً با استفاده ازbreakیک مسیر خروج تعریف کردهایم.
وقتی کاربر۰وارد کند
if number == ۰: breakحلقه متوقف میشود.
این الگو در برنامههای واقعی بسیار کاربردی است.
⏭️ دستورcontinueدر پایتون
گاهی نمیخواهیم کل حلقه را متوقف کنیم؛ فقط میخواهیمیک تکرار خاص را رد کنیمو به تکرار بعدی برویم.
برای این کار ازcontinueاستفاده میکنیم.
مثال
number = ۰ while number < ۵: number += ۱ if number == ۳: continue print(number)خروجی
۱ ۲ ۴ ۵وقتیnumberبرابر ۳ میشود
continueاجرا میشود.
در نتیجهprint(number)برای آن تکرار اجرا نمیشود و حلقه به مرحله بعد میرود.
پس
continueیعنی «این تکرار را رد کن و برو سراغ تکرار بعدی».
🆚 تفاوتbreakوcontinue
این دو دستور را با هم اشتباه نگیرید.
break
کل حلقه را متوقف میکند
حلقه ↓ break ↓ خروج کاملcontinue
فقط تکرار فعلی را رد میکند
حلقه ↓ continue ↓ تکرار بعدییک راه ساده برای به خاطر سپردن
🛑
break= پایان حلقه
⏭️continue= رد کردن این دور
⚠️ نکته مهم هنگام استفاده ازcontinue
هنگام استفاده ازcontinueدر حلقهwhileباید مراقب باشید که متغیر کنترل حلقه در مسیر مناسب تغییر کند.
مثلاً این کد میتواند مشکلساز شود
number = ۱ while number <= ۵: if number == ۳: continue print(number) number += ۱وقتیnumberبه ۳ برسدcontinueاجرا میشود و برنامه به ابتدای حلقه برمیگردد.
اما مقدارnumberدیگر افزایش پیدا نمیکند.
در نتیجه حلقه در مقدار ۳ گیر میکند.
راه بهتر
number = ۱ while number <= ۵: if number == ۳: number += ۱ continue print(number) number += ۱البته در چنین مثال سادهای میتوان کد را به شکل دیگری نیز نوشت؛ نکته مهم این است که هنگام استفاده ازcontinueهمیشه مسیر تغییر متغیر کنترل حلقه را بررسی کنید.
🧩 ترکیبwhileبا شرطها
حالا میتوانیم دانستههای جلسههای قبلی را با حلقه ترکیب کنیم.
مثلاً میخواهیم عددهای ۱ تا ۱۰ را بررسی کنیم و فقط عددهای زوج را چاپ کنیم
number = ۱ while number <= ۱۰: if number % ۲ == ۰: print(number) number += ۱خروجی
۲ ۴ ۶ ۸ ۱۰اینجا چند مفهوم را با هم ترکیب کردهایم
- متغیر
while- شرط
if - عملگر
% - مقایسه
- افزایش متغیر
این دقیقاً همان نقطهای است که مفاهیم قبلی شروع میکنند به کار کردن در کنار یکدیگر.
🧠 یک مثال جامعتر
فرض کنید میخواهیم برنامهای بنویسیم که از کاربر عدد دریافت کند و
- اگر عدد منفی بود، پیام خطا نمایش دهد.
- اگر عدد صفر بود، برنامه تمام شود.
- اگر عدد مثبت و زوج بود، پیام مناسبی نمایش دهد.
- اگر عدد مثبت و فرد بود، پیام دیگری نمایش دهد.
while True: number = int(input("یک عدد وارد کنید: ")) if number == ۰: print("برنامه پایان یافت.") break if number < ۰: print("عدد باید مثبت باشد.") continue if number % ۲ == ۰: print("عدد مثبت و زوج است.") else: print("عدد مثبت و فرد است.")این مثال بسیار مهم است، چون چند مفهوم را همزمان به کار میگیرد
while ↓ if ↓ break ↓ continue ↓ عملگر % ↓ elseاگر این برنامه را بهخوبی درک کنید، بخش بزرگی از منطق اولیه برنامهنویسی را پشت سر گذاشتهاید. 🚀
⚠️ خطاهای رایج در حلقهwhile
۱. فراموش کردن تغییر متغیر
اشتباه
number = ۱ while number <= ۵: print(number)این حلقه پایان ندارد.
راهحل
number = ۱ while number <= ۵: print(number) number += ۱۲. اشتباه در شرط
مثلاً
number = ۱ while number >= ۵: print(number) number += ۱از همان ابتدا
۱ >= ۵ → Falseپس حلقه حتی یک بار هم اجرا نمیشود.
۳. اشتباه در تورفتگی
در پایتون تورفتگی بخشی از ساختار برنامه است
while number <= ۵: print(number)❌ نادرست
شکل صحیح
while number <= ۵: print(number)۴. ایجاد ناخواسته حلقه بینهایت
همیشه قبل از اجرای حلقه از خودتان بپرسید
«چه زمانی شرط
whileقرار استFalseشود؟»
اگر جواب مشخصی ندارید، احتمالاً حلقه شما مشکل دارد.
🧪 تمرینهای جلسه ۱۵
تمرین ۱: شمارش
برنامهای بنویسید که اعداد ۱ تا ۱۰ را با استفاده ازwhileچاپ کند.
تمرین ۲: شمارش معکوس
برنامهای بنویسید که از عدد ۱۰ تا ۱ را چاپ کند و در پایان بنویسد
شروع!تمرین ۳: اعداد زوج
با استفاده ازwhileتمام اعداد زوج بین ۱ تا ۲۰ را چاپ کنید.
تمرین ۴: رمز عبور
برنامهای بنویسید که از کاربر رمز عبور بخواهد و تا زمانی که رمز صحیح وارد نشده، دوباره درخواست رمز کند.
تمرین ۵: استفاده ازbreak
برنامهای بنویسید که از کاربر عدد دریافت کند و وقتی کاربر۰وارد کرد، برنامه متوقف شود.
🚀 چالش جلسه
برنامهای بنویسید که از کاربر عدد دریافت کند و تا زمانی که۰وارد نشده، ادامه پیدا کند.
برنامه باید
- عدد زوج را تشخیص دهد.
- عدد فرد را تشخیص دهد.
- عدد منفی را نپذیرد.
- با وارد کردن
۰پایان پیدا کند.
سعی کنید در این تمرین از
while if elif else break continueاستفاده کنید.
📚 جمعبندی جلسه ۱۵
در این جلسه با یکی از مهمترین مفاهیم برنامهنویسی یعنیحلقههاآشنا شدیم.
یاد گرفتیم
| مفهوم | کاربرد |
|---|---|
while | اجرای تکراری کد تا زمانی که شرط درست باشد |
break | خروج کامل از حلقه |
continue | رد کردن تکرار فعلی و رفتن به تکرار بعدی |
| حلقه بینهایت | حلقهای که مسیر مشخصی برای پایان ندارد |
| شرط حلقه | مشخص میکند حلقه چه زمانی ادامه پیدا کند |
| متغیر کنترل | متغیری که تغییر آن معمولاً باعث پایان حلقه میشود |
مهمترین نکته این جلسه
یک حلقه
whileباید مسیر مشخصی برای رسیدن به شرطFalseداشته باشد؛ در غیر این صورت ممکن است با یک حلقه بینهایت روبهرو شویم.
🔜 پیشنمایش جلسه ۱۶: حلقهforدر پایتون
تا اینجا یاد گرفتیم باwhileیک عملیات را تا زمانی که شرطی برقرار است، تکرار کنیم.
اما یک سؤال مهم باقی میماند
اگر بخواهیم روی مجموعهای از دادهها حرکت کنیم، چه کار کنیم؟
مثلاً
نامهای یک لیست اعداد یک مجموعه حروف یک کلمه آیتمهای یک دادهاینجاست کهحلقهforوارد میشود.
در جلسه بعد یاد میگیریم
forچیست؟- چگونه روی یک لیست حرکت کنیم؟
range()چگونه کار میکند؟- تفاوت
forوwhileچیست؟ - چگونه از
breakوcontinueدرforاستفاده کنیم؟
پس از جلسه بعد، ابزار بسیار قدرتمندتری برایتکرار روی دادههادر اختیار خواهیم داشت. 🚀
📚 جلسه ۱۶: حلقهforو پیمایش دادهها در پایتون
تحقیق و تدوینمهدی گمرکی
نوشتهحلقه while در پایتون؛ آموزش حلقه و break و continueاولین بار درپایگاه خبری ارتباطات و فناوری اطلاعات. پدیدار شد.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.