مرکزی مواد پر جائیں
ماڈیول 2 · سبق 1 از 4کورس میں 5/36~10 min
ماڈیول اسباق (1/4)

لوپس اور رینج کے لیے

پائتھون میں for لوپ کو آئٹمز کے سلسلہ پر اعادہ کرنے کے لیے استعمال کیا جاتا ہے: ایک فہرست، ایک تار، ایک رینج، ایک dict… کوئی بھی چیز جو "اعادہ" ہو۔

Python
parole = ["ciao", "mondo", "!"]
for p in parole:
    print(p)
# ciao
# mondo
# !

پیٹرن ہمیشہ ایک جیسا ہوتا ہے: for <variable> in <iterable>: اس کے بعد انڈینٹڈ بلاک جو ہر آئٹم کے لیے ایک بار عمل میں لایا جائے گا۔

range(...): عددی وقفے پیدا کرنا

range انٹیجرز کی ایک سست ترتیب پیدا کرتا ہے۔ تین شکلیں:

Python
range(5)         # 0, 1, 2, 3, 4
range(2, 6)      # 2, 3, 4, 5
range(0, 10, 2)  # 0, 2, 4, 6, 8     (step)
range(5, 0, -1)  # 5, 4, 3, 2, 1     (negative step)

range دائیں سرے پر خصوصی ہے، جیسے slice۔ یہ ایک سست چیز ہے: یہ تمام نمبروں کے لیے میموری مختص نہیں کرتا، یہ انہیں ایک وقت میں ایک پیدا کرتا ہے۔

Python
totale = 0
for i in range(1, 11):
    totale = totale + i
totale  # 55  (1+2+...+10)

اشاریہ کے ساتھ تکرار کرنا: enumerate

جب آپ کو آئٹم اور اس کے انڈیکس کی ضرورت ہو ایک ساتھ، استعمال کریں enumerate:

Python
parole = ["ciao", "mondo", "!"]
for i, p in enumerate(parole):
    print(i, p)
# 0 ciao
# 1 mondo
# 2 !

enumerate (index, value) جوڑے تیار کرتا ہے جو ہم براہ راست دو کو تفویض کرتے ہیں ٹپل ان پیکنگ کے ذریعے متغیرات (ہم اسے اس کے لیے وقف کردہ ماڈیول میں دیکھیں گے ڈیٹا ڈھانچے)۔

متوازی طور پر دو ترتیبوں کو دہرانا: zip

Python
nomi = ["Ada", "Linus", "Grace"]
anni = [36, 54, 79]
for n, a in zip(nomi, anni):
    print(f"{n} ha {a} anni")

zip مختصر ترین ترتیب پر رکتا ہے۔

range() اور ازگر کی سستی۔

Python میں، range() فنکشن میموری میں اصل فہرست مختص نہیں کرتا ہے: یہ ایک سست جنریٹر لوٹاتا ہے جو درخواست کے مطابق ایک وقت میں ایک نمبر دیتا ہے (مثال کے طور پر، for لوپ میں)۔ یہ RAM کو پھولے بغیر لاکھوں عدد سے زیادہ دہرانے کی اجازت دیتا ہے۔ فہرست کے طور پر رینج کی اقدار کا معائنہ کرنے کے لیے، آپ اسے list(range(5)) کے ساتھ واضح طور پر کاسٹ کر سکتے ہیں۔

خود ہی آزمائیں۔

ورزش#python.m2.l1.e1
کوششیں: 0لوڈ ہو رہا ہے…

ایک فار لوپ اوور رینج (...) کا استعمال کرتے ہوئے 1 سے 100 (بشمول) تک کے نمبروں کے مجموعے کی گنتی کریں، اسے 'کل' پر تفویض کریں اور اس کا اندازہ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

حد (1، 101) 1، 2، ...، 100 (خصوصی دائیں طرف) پیدا کرتی ہے۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش کا جائزہ لیں۔

ورزش#python.m2.l1.e2
کوششیں: 0لوڈ ہو رہا ہے…

فہرست `الفاظ = ['uno', 'due', 'tre']` کو دیکھتے ہوئے، '0:uno', '1:due', '2:tre' جیسے سٹرنگز کی فہرست بنائیں۔ 'جوڑوں' کا اندازہ لگائیں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

ہر تکرار پر انومریٹ (الفاظ) واپسی (اشاریہ، قدر)۔

3 کوششوں کے بعد حل دستیاب ہے۔

اضافی چیلنج

ورزش#python.m2.l1.e3
کوششیں: 0لوڈ ہو رہا ہے…

Calculate the sum of all even numbers from 2 to 20 inclusive using a `for` loop over a `range`. Store the final sum in `even_sum` and evaluate it.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

رینج (2، 21، 2) کا استعمال صرف 2 سے 20 تک کے برابر عدد پر کرنے کے لیے کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔