🟢 مثالهای کاربردی
1️⃣ چاپ اعداد فرد:
for num in range(1, 10, 2):
print(f"Fard: {num}")
# Khoroji: Fard: 1, Fard: 3, Fard: 5, Fard: 7, Fard: 9
2️⃣ ساخت جدول ضرب:
for i in range(1, 6):
for j in range(1, 6):
print(f"{i} * {j} = {i * j}", end="\t")
print()
# Khoroji:
# 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5
# 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10
# ...
3️⃣ محاسبه مجموع اعداد:
total = sum(range(1, 101))
print(f"Jame 1 ta 100: {total}")
# Khoroji: Jame 1 ta 100: 5050
4️⃣ چرخش ایندکسها در فهرست:
numbers = ["a", "b", "c", "d"]
k = 2
rotated = [numbers[i % len(numbers)] for i in range(k, k + len(numbers))]
print(rotated) # Khoroji: ["c", "d", "a", "b"]
5️⃣ الگوی ستاره با ()range:
for i in range(5):
print("*" * (i + 1))
# Khoroji:
# *
# **
# ***
# ****
# *****
🔴 نکات حرفهای
🔸 صرفهجویی در حافظه:
برای دادههای بزرگ، مستقیم از ()range تو حلقه استفاده کن، نه list(range()):
for i in range(1000000):
if i == 5:
break
print(i)
🔸 خوانایی کد: از step واضح استفاده کن (مثل range(0, 10, 2) برای اعداد زوج).
🔸 به جای (()range(len، ترجیحاً از ()enumerate استفاده کن.
🔸 ترکیب با ژنراتورها: برای بهینهتر شدن، range() رو با ژنراتورها ترکیب کن:
evens_gen = (x for x in range(0, 10, 2))
print(list(evens_gen)) # Khoroji: [0, 2, 4, 6, 8]
🔸 مدیریت بازههای بزرگ
برای بازههای خیلی بزرگ، از step بزرگتر استفاده کن تا سرعت بیشتر بشه:
for i in range(0, 1000000, 1000):
print(i)
🔸 استفاده با itertools:
برای کارهای پیچیدهتر، از ماژول itertools استفاده کن:
from itertools import islice
numbers = range(100)
print(list(islice(numbers, 5))) # Khoroji: [0, 1, 2, 3, 4]
💯 @PythonForYou 🧑💻👩💻