6️⃣ مدیریت خطاها در حلقهها
💥 حلقهها ممکنه باعث خطاهایی مثل IndexError یا حلقه بیپایان بشن.
✨ مثال مدیریت خطا:
fruits = ["sib", "moz"]
try:
for i in range(5):
print(fruits[i])
except IndexError:
print("Indeks na-mojood! 🚫")
✨ مثال جلوگیری از حلقه بیپایان:
count = 0
while count < 5:
print(f"Shomar: {count}")
count += 1 # Faramoosh in, halghe bi-payan mishe!
—-—-—-—-—-—-—-—-—-—-—
7️⃣ مثالهای کاربردی
✨ محاسبه فاکتوریل با while:
n = 5
factorial = 1
while n > 0:
factorial *= n
n -= 1
print(f"Factorial: {factorial}") # Khoroji: Factorial: 120
✨ جستجوی خطی با for:
numbers = [3, 7, 2, 9]
target = 7
for i, num in enumerate(numbers):
if num == target:
print(f"Target {target} dar index {i} peyda shod!")
break
else:
print("Target nabood! 🚫")
✨ تولید فهرست فیبوناچی:
n = 6
fib = [1, 1]
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
print(fib) # Khoroji: [1, 1, 2, 3, 5, 8]
✨ چاپ الگوی ستاره با حلقه تودرتو:
for i in range(5):
for j in range(i + 1):
print("*", end="")
print()
# Khoroji:
# *
# **
# ***
# ****
# *****
—-—-—-—-—-—-—-—-—-—-—
8️⃣ نکات حرفهای
🔸 بهینهسازی حافظه:
برای دادههای بزرگ، از ژنراتورها یا ()range مستقیم استفاده کن:
for i in range(1000000):
if i == 5:
break
🔸 خوانایی کد:
- اسمهای معنیدار برای متغیرها انتخاب کن (مثل fruit به جای x).
- از ()enumerate به جای range(len()) استفاده کن.
🔸 جلوگیری از حلقههای بیپایان:
- همیشه یه شرط خروج (مثل break یا افزایش متغیر) تو while بذار.
- برای تست، یه محدودیت حداکثر تکرار اضافه کن:
tries = 0
while tries < 1000:
tries += 1
if some_condition:
break
🔸 ترکیب با توابع داخلی:
- برای جمع، از sum() به جای حلقه استفاده کن:
numbers = [1, 2, 3, 4]
total = sum(numbers) # Tondtar az halghe
💯 @PythonForYou 🧑💻👩💻