در برنامهنویسی، تصمیمگیری و اجرای کدها بر اساس شرایط مختلف بسیار مهم است. در این فصل یاد میگیریم که چگونه با دستورات شرطی تصمیمگیری کنیم، چگونه با حلقههای تکرار (for, while) عملیات تکراری را اجرا کنیم و چگونه از حلقههای تو در تو (nested loops) برای پردازش دادههای چندبعدی استفاده کنیم.
در بسیاری از مواقع، برنامه نیاز دارد تا بسته به شرایط خاص، مسیرهای مختلفی را اجرا کند. این کار با استفاده از دستورات شرطی انجام میشود.
ساختار کلی if, elif, else
if شرط:
# اجرای این کد در صورت درست بودن شرط
elif شرط_دیگر:
# اجرای این کد در صورت برقرار نبودن شرط قبلی و درست بودن این شرط
else:
# اجرای این کد اگر هیچکدام از شرایط بالا برقرار نبودند
مثال ساده: تشخیص سن کاربر
age = int(input("سن خود را وارد کنید: "))
if age < 13:
print("شما کودک هستید.")
elif 13 <= age < 20:
print("شما نوجوان هستید.")
else:
print("شما بزرگسال هستید.")
✅ اگر کاربر عددی کمتر از ۱۳ وارد کند، پیام "شما کودک هستید." چاپ میشود.
✅ اگر بین ۱۳ تا ۱۹ باشد، پیام "شما نوجوان هستید." نمایش داده میشود.
✅ در غیر این صورت، پیام "شما بزرگسال هستید." چاپ خواهد شد.
در داخل شرطهای if از عملگرهای مقایسهای برای بررسی شرایط استفاده میکنیم:
| عملگر | توضیح |
|---|---|
== | برابر بودن |
!= | نامساوی بودن |
< | کوچکتر از |
> | بزرگتر از |
<= | کوچکتر یا مساوی |
>= | بزرگتر یا مساوی |
مثال: بررسی عدد زوج یا فرد
num = int(input("یک عدد وارد کنید: "))
if num % 2 == 0:
print("عدد زوج است.")
else:
print("عدد فرد است.")
✅ این کد بررسی میکند که آیا باقیماندهی تقسیم عدد بر ۲ صفر است یا نه. اگر صفر باشد، یعنی عدد زوج است؛ در غیر این صورت، فرد است.
حلقهها برای اجرای دستورات بهصورت مکرر استفاده میشوند تا نیاز به نوشتن کدهای تکراری را کاهش دهند.
حلقه for در پایتون معمولاً برای پیمایش (iteration) روی لیستها، رشتهها، تاپلها و دیگر دنبالهها (sequences) استفاده میشود.
مثال: نمایش اعداد از ۱ تا ۵
for i in range(1, 6):
print(i)
🔹 range(1, 6) یک دنباله از اعداد ۱ تا ۵ تولید میکند. (عدد ۶ شامل نمیشود.)
🔹 در هر تکرار، مقدار جدیدی به i داده میشود و در خروجی چاپ میشود.
حلقه while تا زمانی که یک شرط درست باشد، اجرا خواهد شد.
مثال: شمارش از ۱ تا ۵ با while
count = 1
while count <= 5:
print(count)
count += 1 # افزایش مقدار count در هر تکرار
🔹 این حلقه تا زمانی که مقدار count کوچکتر یا مساوی ۵ باشد، اجرا میشود.
🔹 در هر دور، مقدار count یک واحد افزایش مییابد.
❗ نکته: اگر مقدار count در داخل حلقه تغییر نکند، حلقه بهصورت بینهایت اجرا خواهد شد! پس همیشه مطمئن شوید که شرط حلقه در نهایت False میشود.
حلقه for را میتوان برای پیمایش روی عناصر یک لیست یا رشته نیز استفاده کرد.
fruits = ["سیب", "موز", "پرتقال"]
for fruit in fruits:
print("میوه:", fruit)
خروجی:
میوه: سیب
میوه: موز
میوه: پرتقال
مثال: پیمایش روی یک رشته و چاپ کاراکترهای آن
word = "Python"
for char in word:
print(char)
✅ در این مثال، هر حرف از رشته Python بهصورت جداگانه چاپ میشود.
زمانی که بخواهیم در داخل یک حلقه، یک حلقهی دیگر اجرا شود، از حلقههای تو در تو استفاده میکنیم.
مثال: نمایش یک ماتریس ۳×۳
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for element in row:
print(element, end=" ")
print() # چاپ یک خط جدید پس از پایان هر ردیف
🔹 حلقهی اول (for row in matrix) روی ردیفهای ماتریس حرکت میکند.
🔹 حلقهی دوم (for element in row) روی عناصر داخل هر ردیف حرکت میکند و آنها را چاپ میکند.
خروجی:
1 2 3
4 5 6
7 8 9
break و continue۱. استفاده از break برای خروج از حلقه
دستور break باعث خروج فوری از حلقه میشود.
for num in range(1, 10):
if num == 5:
break # اگر مقدار ۵ برسد، حلقه متوقف میشود
print(num)
خروجی:
1
2
3
4
✅ حلقه هنگام رسیدن به مقدار ۵ متوقف شده و ادامه نمییابد.
۲. استفاده از continue برای رد کردن یک مرحله از حلقه
دستور continue اجرای آن مرحله از حلقه را متوقف میکند و به مرحله بعدی میرود.
for num in range(1, 6):
if num == 3:
continue # مرحلهای که num برابر ۳ است، رد میشود
print(num)
خروجی:
1
2
4
5
✅ مقدار ۳ چاپ نشده است زیرا continue باعث رد شدن آن مرحله از حلقه شده است.
break و continue برای کنترل روند اجرای حلقهها استفاده میشوند.💡 با یادگیری این مفاهیم، شما میتوانید کدهای انعطافپذیرتری بنویسید و جریان اجرای برنامه را کنترل کنید! 🚀