ماڈیول اسباق (1/4)
لوپس اور رینج کے لیے
پائتھون میں for لوپ کو آئٹمز کے سلسلہ پر اعادہ کرنے کے لیے استعمال کیا جاتا ہے:
ایک فہرست، ایک تار، ایک رینج، ایک dict… کوئی بھی چیز جو "اعادہ" ہو۔
parole = ["ciao", "mondo", "!"]
for p in parole:
print(p)
# ciao
# mondo
# !پیٹرن ہمیشہ ایک جیسا ہوتا ہے: for <variable> in <iterable>: اس کے بعد
انڈینٹڈ بلاک جو ہر آئٹم کے لیے ایک بار عمل میں لایا جائے گا۔
range(...): عددی وقفے پیدا کرنا
range انٹیجرز کی ایک سست ترتیب پیدا کرتا ہے۔ تین شکلیں:
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۔ یہ ایک سست چیز ہے:
یہ تمام نمبروں کے لیے میموری مختص نہیں کرتا، یہ انہیں ایک وقت میں ایک پیدا کرتا ہے۔
totale = 0
for i in range(1, 11):
totale = totale + i
totale # 55 (1+2+...+10)اشاریہ کے ساتھ تکرار کرنا: enumerate
جب آپ کو آئٹم اور اس کے انڈیکس کی ضرورت ہو ایک ساتھ، استعمال کریں enumerate:
parole = ["ciao", "mondo", "!"]
for i, p in enumerate(parole):
print(i, p)
# 0 ciao
# 1 mondo
# 2 !enumerate (index, value) جوڑے تیار کرتا ہے جو ہم براہ راست دو کو تفویض کرتے ہیں
ٹپل ان پیکنگ کے ذریعے متغیرات (ہم اسے اس کے لیے وقف کردہ ماڈیول میں دیکھیں گے
ڈیٹا ڈھانچے)۔
متوازی طور پر دو ترتیبوں کو دہرانا: zip
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)) کے ساتھ واضح طور پر کاسٹ کر سکتے ہیں۔
خود ہی آزمائیں۔
ایک فار لوپ اوور رینج (...) کا استعمال کرتے ہوئے 1 سے 100 (بشمول) تک کے نمبروں کے مجموعے کی گنتی کریں، اسے 'کل' پر تفویض کریں اور اس کا اندازہ کریں۔
اشارہ دکھائیں۔
حد (1، 101) 1، 2، ...، 100 (خصوصی دائیں طرف) پیدا کرتی ہے۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
فہرست `الفاظ = ['uno', 'due', 'tre']` کو دیکھتے ہوئے، '0:uno', '1:due', '2:tre' جیسے سٹرنگز کی فہرست بنائیں۔ 'جوڑوں' کا اندازہ لگائیں۔
اشارہ دکھائیں۔
ہر تکرار پر انومریٹ (الفاظ) واپسی (اشاریہ، قدر)۔
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
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 کوششوں کے بعد حل دستیاب ہے۔