بی آکادمی
آموزش HTML
آموزش CSS
فلکس باکس
جاوااسکریپت
آموزش SQL
آموزش MySQL
آموزش PHP
آموزش لاراول
دانلود و نصب لینوکس
داکر دسکتاپ
VS Code
گیت و گیت هاب
آموزش پایتون
هوش مصنوعی
TypeScript
فروشگاه اینترنتی
اپلیکیشن موبایل
آموزش اکسل

آموزش جامع حلقه ها در پایتون


🎯 اهداف یادگیری

  • درک مفهوم حلقه‌ها و کاربرد آنها در برنامه‌نویسی
  • شناخت حلقه for و نحوه استفاده از آن
  • شناخت حلقه while و تفاوت‌های آن با for
  • یادگیری دستورات break، continue و else در حلقه‌ها
  • آشنایی با حلقه‌های تو در تو و کاربردهای آنها

📌 مقدمه‌ای بر حلقه‌ها در پایتون

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


📌 حلقه for

حلقه for برای تکرار روی عناصر یک شیء قابل تکرار (iterable) مانند لیست، تاپل، رشته، یا دیکشنری استفاده می‌شود.

python
# حلقه for روی لیست
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# خروجی:
# apple
# banana
# cherry
# حلقه for با تابع range
for i in range(5):
print(i)
# خروجی: 0 1 2 3 4
# حلقه for روی رشته
for char in "Python":
print(char)
# خروجی: P y t h o n

تابع ()range در حلقه for:

تابع ()range برای تولید دنباله‌ای از اعداد استفاده می‌شود:

python
# range با یک پارامتر (پایان)
for i in range(5):
print(i) # 0, 1, 2, 3, 4
# range با دو پارامتر (شروع، پایان)
for i in range(2, 6):
print(i) # 2, 3, 4, 5
# range با سه پارامتر (شروع، پایان، قدم)
for i in range(0, 10, 2):
print(i) # 0, 2, 4, 6, 8
# range با قدم منفی
for i in range(5, 0, -1):
print(i) # 5, 4, 3, 2, 1

📌 حلقه while

حلقه while تا زمانی که شرط آن True باشد، به اجرای کد ادامه می‌دهد.

python
# حلقه while ساده
count = 0
while count < 5:
print(count)
count += 1
# خروجی: 0 1 2 3 4
# حلقه while با شرط پیچیده
password = ""
while password != "secret":
password = input("لطفا رمز عبور را وارد کنید: ")
print("خوش آمدید!")
# حلقه بی‌نهایت (با احتیاط استفاده شود!)
while True:
user_input = input("دستور را وارد کنید (exit برای خروج): ")
if user_input == "exit":
break

📌 دستور break

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

python
# break در حلقه for
for i in range(10):
if i == 5:
break
print(i)
# خروجی: 0 1 2 3 4
# break در حلقه while
count = 0
while True:
print(count)
count += 1
if count >= 5:
break
# خروجی: 0 1 2 3 4

📌 دستور continue

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

python
# continue در حلقه for
for i in range(10):
if i % 2 == 0:
continue
print(i)
# خروجی: 1 3 5 7 9 (فقط اعداد فرد)
# continue در حلقه while
count = 0
while count < 10:
count += 1
if count % 2 == 0:
continue
print(count)
# خروجی: 1 3 5 7 9

📌 دستور else در حلقه‌ها

در پایتون، حلقه‌ها می‌توانند یک بلوک else داشته باشند که بعد از اتمام طبیعی حلقه (بدون break) اجرا می‌شود.یعنی اگر حلقه با break به اتمام رسید بلوک else دیگر اجرا نخواهد شد.

python
# else با حلقه for
for i in range(5):
print(i)
else:
print("حلقه به طور طبیعی پایان یافت")
# خروجی: 0 1 2 3 4 سپس "حلقه به طور طبیعی پایان یافت"
# else با break
for i in range(5):
if i == 3:
break
print(i)
else:
print(حلقه به طور طبیعی پایان یافت")
# خروجی: 0 1 2 (بلوک else اجرا نمی‌شود)
# else با حلقه while
count = 0
while count < 3:
print(count)
count += 1
else:
print("حلقه while به پایان رسید")

📌 حلقه‌های تو در تو (Nested Loops)

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

python
# حلقه for تو در تو
for i in range(3):
for j in range(2):
print(i, j)
# خروجی:
# 0 0
# 0 1
# 1 0
# 1 1
# 2 0
# 2 1
# حلقه while تو در تو
i = 0
while i < 2:
j = 0
while j < 3:
print(i, j)
j += 1
i += 1
# خروجی:
# 0 0
# 0 1
# 0 2
# 1 0
# 1 1
# 1 2

📌 تمرین‌های عملی

حالا نوبت شماست! کدهای زیر را بررسی کنید و نتیجه را پیش‌بینی کنید:

python
# تمرین ۱
for i in range(1, 6):
print(i * i)
# تمرین ۲
numbers = [2, 5, 8, 10, 13]
for num in numbers:
if num % 2 == 0:
continue
print(num)
# تمرین ۳
count = 3
while count > 0:
print(count)
count -= 1
else:
print("شمارش به پایان رسید!")