پایتون یکی از زبانهای سطح بالا و پرکاربرد در دنیای برنامهنویسی است که قابلیت خوانایی، سادگی و قدرت بالا را در کنار هم دارد. یکی از اصول مهم هر زبان برنامهنویسی «کنترل جریان اجرا» است؛ یعنی اینکه کد چه زمانی اجرا شود، کجا متوقف گردد و در چه شرایطی تکرار شود. این سه ویژگی از طریق دستورات شرطی و حلقهها حاصل میشوند و برای درک منطق برنامهنویسی کاملاً حیاتیاند.
در این مقاله به صورت گامبهگام با ساختار و کاربرد این دو مفهوم در برنامه نویسی پایتون آشنا میشویم، مثالهای آموزشی بررسی میکنیم و تفاوت میان انواع حلقهها را به زبان ساده توضیح میدهیم.
در دنیای طبیعی، ما هر روز تصمیمگیری و تکرار انجام میدهیم. وقتی هوا سرد است، لباس گرم میپوشیم؛ وقتی کاری تا انجام کامل نیاز به تکرار دارد، دوباره آن را امتحان میکنیم. همین منطق انسانی در برنامهنویسی نیز پیادهسازی شده است! پایتون با استفاده از شرطها (if) و حلقهها (for و while) به ما امکان میدهد فرآیندهای تصمیمگیری و تکرار را دیجیتالی کنیم.

بخش اول: شرطهای منطقی در پایتون
ساختار کلی دستور if
در پایتون دستور if برای تصمیمگیری استفاده میشود. به کمک آن میتوانیم بخشی از برنامه را تنها در صورت برقرار بودن یک شرط خاص اجرا کنیم.
age = 20
if age >= 18:
print("اجازه ورود داده شد")
اگر شرط برقرار نباشد، پایتون آن بخش از کد را نادیده میگیرد. برای افزودن مسیر جایگزین از دستورات elif و else استفاده میشود.
if age > 18:
print("بزرگسال")
elif age == 18:
print("مرز بزرگسالی")
else:
print("نوجوان")
عملگرهای مقایسهای و منطقی
| نوع عملگر | مثال | توضیح |
|---|---|---|
| == | a == b | برابر بودن دو مقدار |
| != | a != b | نابرابری |
| > / < | x > y | بزرگتر یا کوچکتر |
| >= / <= | x >= y | بزرگتر یا مساوی / کوچکتر یا مساوی |
| and / or / not | a > b and b < c | ترکیب شرطها |
بخش دوم: حلقهها در پایتون
وقتی نیاز داریم دستور یا مجموعهای از کدها چندین بار تکرار شوند، از حلقه استفاده میکنیم. پایتون دو ساختار اصلی برای تکرار دارد: for loop و while loop.
حلقه for
حلقه for برای پیمایش مجموعهها مثل لیست، تاپل یا رشته استفاده میشود. معمولاً وقتی میدانیم چند بار باید تکرار شود، از for بهره میبریم.
numbers = [1, 2, 3, 4]
for n in numbers:
print(n)
مثال کاربردیتر:
for i in range(1, 6):
print(f"حلقه شماره {i}")
با استفاده از تابع range() میتوان بازهای از اعداد تولید کرد.
حلقه while
حلقهی while زمانی استفاده میشود که از قبل نمیدانیم چند بار باید تکرار شود. تا زمانی که شرط برقرار است، کد داخل حلقه اجرا میشود.
count = 0
while count < 5:
print("شمارش:", count)
count += 1
اگر شرط هیچگاه نادرست نشود، حلقه به صورت بینهایت تکرار میگردد؛ به همین دلیل باید همیشه منطق خروج را درون آن بنویسیم.
بخش سوم: تفاوتهای حلقه for و while
| ویژگی | for loop | while loop |
|---|---|---|
| تعیین تعداد تکرار | مشخص از قبل | وابسته به شرط منطقی |
| مناسب برای | پیمایش لیست و مجموعهها | اجرای بر اساس وضعیت یا ورودی |
| ساختار کلی | ساده و محدود به range() | انعطافپذیر و وابسته به شرط |
| احتمال خطا | کمتر (پایان مشخص) | بیشتر (خطر بینهایت شدن) |
برای درک تصویری بهتر، نمودار فلوچارت مقایسهای میان این دو حلقه را در تصویر سوم مقاله مشاهده میکنید.

بخش چهارم: حلقههای تو در تو (Nested Loops)
for i in range(1, 4):
for j in range(1, 4):
print(i, j)
در این مثال هر مقدار از i با تمام مقادیر j ترکیب میشود.
بخش پنجم: کنترل اجرای حلقه با break و continue
| دستور | کاربرد | توضیح کوتاه |
|---|---|---|
| break | خروج کامل از حلقه | اگر شرط خاص برقرار شود، حلقه متوقف میشود. |
| continue | رد کردن یک مرحله از حلقه | اجرای ادامهی حلقه بدون توقف کلی. |
for n in range(10):
if n == 5:
break
print(n)
بخش ششم: کاربرد ترکیبی شرط و حلقه
for score in [95, 68, 80, 45]:
if score >= 70:
print("قبول ✅")
else:
print("رد ❌")
به این روش میتوان سرعت تصمیمگیری در مجموعه دادهها را بالا برد و منطق برنامه را هوشمندتر کرد.

بخش هفتم: نکات حرفهای برای نوشتن حلقهها
- از
range()با گام مناسب استفاده کنید تا از تکرار غیرضروری جلوگیری شود. - متغیرهای شمارنده را نامگذاری معنیدار انجام دهید (مثلاً
indexیاcounterبهجایi). - اگر بیش از دو سطح حلقه تو در تو دارید، سعی کنید با توابع مجزا سادهسازی کنید.
- همیشه شرایط خروج را در حلقهی while تعریف کنید تا از خطاهای بینهایت جلوگیری گردد.
سخن پایانی
دستورات شرطی و حلقهها ستون فقرات هر منطق برنامهنویسی محسوب میشوند. با شرطها تصمیمگیری انجام میدهیم و با حلقهها تکرار هوشمندانهی عملیات را مدیریت میکنیم. زبان پایتون این مفاهیم را به سادهترین و خواناترین شکل ارائه کرده است. در این مقاله ساختار if, for و while را از پایه تا سطح کاربردی مرور کردیم و یاد گرفتیم که چگونه از ترکیب آنها برای ساخت الگوریتمهای کارآمد بهره ببریم.
درک درست این ابزارها، پایهگذار برنامهنویسی حرفهای در پایتون است. پس اگر تازه شروع کردهاید، تمرکز روی تمرینات شرطی و حلقهها بهترین مسیر برای پیشرفت شما در برنامهنویسی محسوب میشود.
با ادامه آموزشهای ژیوارآموزان میتوانید گام بعدی را برای ورود به دنیای الگوریتمها و طراحی دادهها بردارید.



