🔄 درس پنجم: تکرار با حلقهها
🎯 هدف این درس: آشنایی با حلقههای for و while برای اجرای کارهای تکراری
سلام دوست عزیز! 👋
تا اینجا یاد گرفتی چطور با شرطها تصمیمگیری کنی. اما توی برنامهنویسی، یه کار دیگه هم هست که خیلی بهش نیاز پیدا میکنی: تکرار کردن یه کار.
فرض کن میخوای ۱۰۰ بار یه پیام رو چاپ کنی. خب، نوشتن ۱۰۰ خط print() کار منطقیای نیست! اینجاست که حلقهها به کمک ما میان.
توی این درس، با هم یاد میگیریم:
- ✅ حلقه
forو تابعrange() - ✅ حلقه
whileو کاربردهایش - ✅ تفاوت حلقه
forوwhile - ✅ کلمات کلیدی
breakوcontinue - ✅ پروژه عملی: جدول ضرب
🔁 بخش ۱: حلقه for و تابع range
حلقه for برای زمانی استفاده میشه که میدونیم چند بار باید یه کار رو تکرار کنیم. این حلقه میتونه روی لیستها، رشتهها و محدودههای عددی پیمایش کنه.
ساختار کلی:
ساختار for
PYTHON
v3.12
🔒 RAW
for متغیر in دنباله:
# کدهایی که باید تکرار شوند
یکی از پرکاربردترین توابعی که با حلقه for استفاده میشه، تابع range() هست که یه دنباله از اعداد رو تولید میکنه.
مثال ۱: چاپ اعداد با range
چاپ اعداد با range
PYTHON
v3.12
🔒 RAW
for i in range(5):
print(f"عدد: {i}")
تابع range(5) اعداد ۰ تا ۴ رو تولید میکنه، نه ۱ تا ۵. چون شمارش در پایتون از صفر شروع میشه.
مثال ۲: سه حالت استفاده از range
سه حالت range
PYTHON
v3.12
🔒 RAW
# ۱. range(stop) - از ۰ تا stop-1
print("مثال ۱: range(5)")
for i in range(5):
print(i, end=" ")
# ۲. range(start, stop) - از start تا stop-1
print("\n\nمثال ۲: range(2, 7)")
for i in range(2, 7):
print(i, end=" ")
# ۳. range(start, stop, step) - از start تا stop-1 با گام step
print("\n\nمثال ۳: range(1, 11, 2)")
for i in range(1, 11, 2):
print(i, end=" ")
print("\n")
📋 بخش ۲: پیمایش لیستها با for
حلقه for میتونه روی اعضای یه لیست هم پیمایش کنه. این یکی از کاربردیترین کاربردهای حلقه for هست.
مثال: پیمایش لیست میوهها
پیمایش لیست
PYTHON
v3.12
🔒 RAW
fruits = ["سیب", "موز", "پرتقال"]
for fruit in fruits:
print(f"میوه: {fruit}")
🔄 بخش ۳: حلقه while
حلقه while تا زمانی که یه شرط درست باشه، به تکرار ادامه میدهه. این حلقه برای مواقعی که تعداد دقیق تکرارها رو نمیدونیم، عالیه.
ساختار کلی:
ساختار while
PYTHON
v3.12
🔒 RAW
while شرط:
# کدهایی که تا زمانی که شرط برقرار است، تکرار میشوند
مثال ۱: شمارش از ۱ تا ۵
شمارش با while
PYTHON
v3.12
🔒 RAW
count = 1
while count <= 5:
print(f"شماره: {count}")
count += 1 # افزایش شمارنده
print("پایان حلقه")
همیشه مطمئن شوید که شرط حلقه در نهایت False میشه، در غیر این صورت حلقه تا ابد ادامه مییابه (حلقه بینهایت)!
مثال ۲: دریافت ورودی تا زمانی که عدد صحیح وارد شود
دریافت ورودی معتبر
PYTHON
v3.12
🔒 RAW
while True:
try:
age = int(input("سن خود را وارد کنید: "))
break # اگر ورودی صحیح بود، از حلقه خارج میشویم
except ValueError:
print("❌ لطفاً یک عدد صحیح وارد کنید!")
print(f"✅ سن شما: {age}")
⏹️ بخش ۴: کلمات کلیدی break و continue
در حلقهها، دو کلمه کلیدی خیلی مهم وجود داره که به ما کنترل بیشتری روی تکرارها میدن.
۱. دستور break
دستور break برای خروج فوری از حلقه استفاده میشه.
مثال break
PYTHON
v3.12
🔒 RAW
# پیدا کردن اولین عدد زوج در لیست
numbers = [1, 3, 5, 7, 8, 9, 11]
for num in numbers:
if num % 2 == 0:
print(f"اولین عدد زوج پیدا شد: {num}")
break # بعد از پیدا شدن، از حلقه خارج میشویم
۲. دستور continue
دستور continue برای پرش به تکرار بعدی حلقه استفاده میشه و کدهای بعد از اون در همان تکرار اجرا نمیشن.
مثال continue
PYTHON
v3.12
🔒 RAW
# چاپ اعداد فرد از ۱ تا ۱۰
for i in range(1, 11):
if i % 2 == 0:
continue # اعداد زوج را نادیده بگیر
print(i, end=" ")
print("\n")
📊 بخش ۵: تفاوت حلقه for و while
📊 جدول مقایسه
| ویژگی | حلقه for | حلقه while |
|---|---|---|
| تعداد تکرار | معمولاً مشخص است | نامشخص است |
| کاربرد اصلی | پیمایش دنبالهها | انتظار برای وقوع یک شرط |
| خطر حلقه بینهایت | کم | بالا (در صورت فراموشی افزایش شمارنده) |
📝 پروژه عملی: جدول ضرب
📝 پروژه: ساخت جدول ضرب
برنامهای بنویسید که با استفاده از حلقههای تو در تو، جدول ضرب ۱ تا ۱۰ را نمایش دهد.
🔍 راهحل پروژه:
جدول ضرب
PYTHON
v3.12
🔒 RAW
# حلقه بیرونی برای سطرها (عدد اول)
for i in range(1, 11):
# حلقه داخلی برای ستونها (عدد دوم)
for j in range(1, 11):
result = i * j
print(f"{i} × {j} = {result:2d}", end=" ")
print() # رفتن به خط بعدی
📝 تمرینهای عملی
🎯 تمرین شماره ۱: محاسبه فاکتوریل
برنامهای بنویسید که یک عدد از کاربر بگیرد و فاکتوریل آن را محاسبه کند. (فاکتوریل ۵ = ۵×۴×۳×۲×۱)
🔍 راهحل تمرین:
محاسبه فاکتوریل
PYTHON
v3.12
🔒 RAW
num = int(input("یک عدد برای محاسبه فاکتوریل وارد کنید: "))
factorial = 1
for i in range(1, num + 1):
factorial *= i
print(f"فاکتوریل {num} = {factorial}")
🎯 تمرین شماره ۲: تشخیص عدد اول
برنامهای بنویسید که یک عدد از کاربر بگیرد و تشخیص دهد که آیا عدد اول است یا خیر.
🔍 راهحل تمرین:
تشخیص عدد اول
PYTHON
v3.12
🔒 RAW
num = int(input("یک عدد وارد کنید: "))
if num < 2:
print(f"{num} عدد اول نیست.")
else:
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num} یک عدد اول است.")
else:
print(f"{num} عدد اول نیست.")
🧩 جمعبندی درس
تبریک میگم! 🎉 توی این درس یاد گرفتی:
- ✅ حلقه
forو تابعrange() - ✅ حلقه
whileو کاربردهایش - ✅ تفاوت حلقه
forوwhile - ✅ کلمات کلیدی
breakوcontinue - ✅ پروژه عملی: جدول ضرب
در درس بعدی، با لیستها و کار با دادههای گروهی آشنا میشیم و میتونیم چندین مقدار رو با هم توی یه متغیر ذخیره کنیم.




نظر خود را بنویسید
با ثبت نظر، به بهبود محتوای ما کمک کنید