ساختارهای کنترلی و شرطی (بخش دوم)

ایجاد شده توسط دکتر مصطفی جلیلی در آموزش برنامه نویسی پایتون 23 فوریه 2025
اشتراک گذاری

در برنامه‌نویسی، تصمیم‌گیری و اجرای کدها بر اساس شرایط مختلف بسیار مهم است. در این فصل یاد می‌گیریم که چگونه با دستورات شرطی تصمیم‌گیری کنیم، چگونه با حلقه‌های تکرار (for, while) عملیات تکراری را اجرا کنیم و چگونه از حلقه‌های تو در تو (nested loops) برای پردازش داده‌های چندبعدی استفاده کنیم.




دستورات شرطی (if, elif, else)


در بسیاری از مواقع، برنامه نیاز دارد تا بسته به شرایط خاص، مسیرهای مختلفی را اجرا کند. این کار با استفاده از دستورات شرطی انجام می‌شود.


ساختار کلی 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 و while)


حلقه‌ها برای اجرای دستورات به‌صورت مکرر استفاده می‌شوند تا نیاز به نوشتن کدهای تکراری را کاهش دهند.


حلقه for


حلقه for در پایتون معمولاً برای پیمایش (iteration) روی لیست‌ها، رشته‌ها، تاپل‌ها و دیگر دنباله‌ها (sequences) استفاده می‌شود.


مثال: نمایش اعداد از ۱ تا ۵


for i in range(1, 6):
print(i)

🔹 range(1, 6) یک دنباله از اعداد ۱ تا ۵ تولید می‌کند. (عدد ۶ شامل نمی‌شود.)
🔹 در هر تکرار، مقدار جدیدی به i داده می‌شود و در خروجی چاپ می‌شود.




حلقه while


حلقه while تا زمانی که یک شرط درست باشد، اجرا خواهد شد.


مثال: شمارش از ۱ تا ۵ با while


count = 1

while count <= 5:
print(count)
count += 1 # افزایش مقدار count در هر تکرار

🔹 این حلقه تا زمانی که مقدار count کوچکتر یا مساوی ۵ باشد، اجرا می‌شود.
🔹 در هر دور، مقدار count یک واحد افزایش می‌یابد.


نکته: اگر مقدار count در داخل حلقه تغییر نکند، حلقه به‌صورت بی‌نهایت اجرا خواهد شد! پس همیشه مطمئن شوید که شرط حلقه در نهایت False می‌شود.




حلقه for در لیست‌ها و رشته‌ها


حلقه for را می‌توان برای پیمایش روی عناصر یک لیست یا رشته نیز استفاده کرد.


fruits = ["سیب", "موز", "پرتقال"]

for fruit in fruits:
print("میوه:", fruit)

خروجی:


میوه: سیب
میوه: موز
میوه: پرتقال

مثال: پیمایش روی یک رشته و چاپ کاراکترهای آن


word = "Python"

for char in word:
print(char)

✅ در این مثال، هر حرف از رشته Python به‌صورت جداگانه چاپ می‌شود.




حلقه‌های تو در تو (nested loops)


زمانی که بخواهیم در داخل یک حلقه، یک حلقه‌ی دیگر اجرا شود، از حلقه‌های تو در تو استفاده می‌کنیم.


مثال: نمایش یک ماتریس ۳×۳


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 باعث رد شدن آن مرحله از حلقه شده است.




جمع‌بندی این فصل



  • دستورات شرطی (if, elif, else) به ما امکان تصمیم‌گیری و اجرای کدها بر اساس شرایط مختلف را می‌دهد.

  • حلقه‌های for و while برای اجرای تکراری عملیات به‌کار می‌روند.

  • حلقه‌های تو در تو (nested loops) برای پردازش داده‌های چندبعدی کاربرد دارند.

  • دستورات break و continue برای کنترل روند اجرای حلقه‌ها استفاده می‌شوند.


💡 با یادگیری این مفاهیم، شما می‌توانید کدهای انعطاف‌پذیرتری بنویسید و جریان اجرای برنامه را کنترل کنید! 🚀

نظرات (0)

اشتراک گذاری

این پست را با دیگران به اشتراک بگذارید

تنظیمات GDPR

When you visit any of our websites, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and manage your preferences. Please note, that blocking some types of cookies may impact your experience of the site and the services we are able to offer.