آموزش

حلقه while در پایتون؛ آموزش حلقه و break و continue

🐍 جلسه ۱۵ آموزش پایتون: حلقه while و کنترل تکرار حلقه while در پایتون با مثال‌های کاربردی؛ یادگیری حلقه بی‌نهایت، break، continue و ساخت حلقه‌های شرطی به زبان ساده. تحقیق و تدوین مهدی گمرکی 📌 مرور جلسه قبل در جلسه ۱۴ با عملگرهای منطقی در پایتون آشنا شدیم و ی…

10 دقیقه مطالعه
  • پشتیبانی شبکه
  • number
  • حلقه
  • print
  • عدد
  • while
  • کنید
  • شرط

خلاصه تحلیلی خبر

🐍 جلسه ۱۵ آموزش پایتون: حلقه 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اولین بار درپایگاه خبری ارتباطات و فناوری اطلاعات. پدیدار شد.

برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.