کاؤنٹرز کے ساتھ لوپس بنانے کے لیے ازگر میں اینومریٹ فنکشن کا استعمال کریں۔

Use Enumerate Function Python Create Loops With Counters



یہ مضمون ازگر کی معیاری ماڈیول لائبریری میں دستیاب گنتی فنکشن کے استعمال کی وضاحت کرے گا۔ گنتی فنکشن آپ کو انڈیکس تفویض کرنے یا کسی بھی قابل تلافی شے کے عناصر کو شمار کرنے کی اجازت دیتا ہے۔ اس کے بعد آپ ان پر مزید منطق لاگو کر سکتے ہیں کیونکہ آپ کو دونوں اقدار تک رسائی حاصل ہو گی اور اس کے حساب سے شمار کیا جائے گا۔

نحو اور بنیادی مثال۔

اگر آپ نے دوسری پروگرامنگ زبانوں ، خاص طور پر سی زبان اور سی طرز کی نحو والی دوسری زبانوں میں لوپ کے لیے استعمال کیا ہے ، تو آپ نے لوپ میں شروعاتی انڈیکس متعین کیا ہوگا۔ حوالہ کے لیے ، یہ ہے کہ a for لوپ C اور دوسری زبانوں میں اسی طرح کی نحو کی طرح دکھائی دیتا ہے:







کے لیے (intمیں= ؛میں< 10۔؛میں++۔)

{

پرنٹ ایف ('٪ dn'،میں)؛

}

لوپ اسٹیٹمنٹ ایک متغیر کی ابتدا کرتا ہے جس کی قیمت صفر ہوتی ہے ، چیک کرتا ہے کہ یہ ایک دہلیز سے کم ہے اور لوپ بلاک کے اندر منطق کا جائزہ لینے کے بعد اسے ایک گنتی سے بڑھا دیتا ہے (اگر سٹاپ کی شرط پوری ہوتی ہے)۔ اس طرح آپ انڈیکس استعمال کرسکتے ہیں اور اسے اپنے لوپ بلاک میں حوالہ کردہ کسی بھی چیز کو تفویض کرسکتے ہیں۔ اس کے مقابلے میں ، ازگر میں اسی نتائج کے ساتھ لوپ کی طرح دکھائی دیتا ہے:



کے لیےمیںمیں رینج(، 10۔):

پرنٹ کریں (میں)

ازگر میں رینج فنکشن آپ کو ایک نمبر رینج تسلسل کی وضاحت کرنے کی اجازت دیتا ہے جس کا ڈیفالٹ مرحلہ 1 ہوتا ہے۔ آپ تیسری دلیل فراہم کرکے مرحلہ کی قیمت کو تبدیل کرسکتے ہیں۔ رینج فنکشن میں دوسری دلیل سٹاپ کنڈیشن کے لیے حد مقرر کرنے کے لیے استعمال ہوتی ہے۔ دونوں کوڈ کے نمونے درج ذیل آؤٹ پٹ تیار کرتے ہیں:





















یہ لوپس ٹھیک کام کرتے ہیں اگر آپ صرف کچھ نمبر ترتیب پیدا کرنا چاہتے ہیں اور انہیں لوپ بیان کے اندر کچھ منطق سے جوڑنا چاہتے ہیں۔ تاہم ، آپ کو ایک اور گھریلو لوپ استعمال کرنا پڑ سکتا ہے یا کسی بھی قابل تکرار قسم پر یلڈ فنکشن استعمال کرنا پڑتا ہے تاکہ انہیں کسی قسم کی ٹریک ایبل گنتی تفویض کی جا سکے۔ گنتی کا طریقہ ایک بیان میں تکراری اشاریوں کو انڈیکس تفویض کرنا آسان بناتا ہے ، اس طرح متعدد گھوںسلا لوپس چلانے کی ضرورت کو ختم کرتا ہے۔ اس کوڈ کے نمونے پر ایک نظر ڈالیں:





نمبر= ['صفر'، 'ایک'، 'دو'، 'تین'، 'چار'، 'پانچ']

شمار شدہ_ نمبر= درج(نمبر)

کے لیےانڈیکس،آئٹممیںenumerated_numbers:

پرنٹ کریں (انڈیکس،آئٹم)

پہلا بیان ایک نئے متغیر کی وضاحت کرتا ہے جسے نمبر کہتے ہیں اور اسے ایک قابل تکرار (فہرست کی قسم) تفویض کرتا ہے۔ دوسرا بیان گنتی فنکشن کے استعمال کو ظاہر کرتا ہے جہاں آپ اسے لازمی دلیل کے طور پر قابل تکرار فراہم کرتے ہیں۔ تیسرا بیان enumerated_numbers متغیر کو فہرست قسم کی شے میں تبدیل کرتا ہے۔ پہلے سے طے شدہ طور پر ، گنتی کی تقریب ایک گنتی کی قسم کی شے پیدا کرتی ہے نہ کہ قابل تکرار قسم کی ، لہذا آپ کو اسے تبدیل کرنا ہوگا۔ مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

[(0 ، 'صفر') ، (1 ، 'ایک') ، (2 ، 'دو') ، (3 ، 'تین') ، (4 ، 'چار') ، (5 ، 'پانچ')]

گنتی فنکشن ہر عنصر کو ایک قابل تکرار قسم میں ایک گنتی تفویض کرتا ہے اور جوڑے والی اقدار والے ٹیپلز بناتا ہے۔ پہلے سے طے شدہ طور پر ، گنتی صفر سے شروع ہوتی ہے۔



اب جب کہ آپ نے ہر عنصر کو ایک قابل تکرار قسم میں ایک نمبر تفویض کیا ہے ، آپ گھریلو بیانات لکھے بغیر اس پر آسانی سے لوپ لگا سکتے ہیں۔

نمبر= ['صفر'، 'ایک'، 'دو'، 'تین'، 'چار'، 'پانچ']

شمار شدہ_ نمبر= درج(نمبر)

کے لیےانڈیکس،آئٹممیںenumerated_numbers:

پرنٹ کریں (انڈیکس،آئٹم)

اوپر بیان کردہ کوڈ کا نمونہ درج ذیل آؤٹ پٹ پیدا کرے گا:

0 صفر۔

1 ایک

2 دو

3 تین۔

4 چار۔

5 پانچ۔

جیسا کہ ذیل کے نمونے میں دکھایا گیا ہے ، آپ انومیٹ فنکشن ان لائن کا استعمال کرکے کوڈ کو چھوٹا بنا سکتے ہیں۔

نمبر= ['صفر'، 'ایک'، 'دو'، 'تین'، 'چار'، 'پانچ']

کے لیےانڈیکس،آئٹممیں درج(نمبر):

پرنٹ کریں (انڈیکس،آئٹم)

ایک مختلف اسٹارٹ انڈیکس کے ساتھ گنتی کا استعمال۔

گنتی فنکشن ایک اختیاری دلیل لیتا ہے جہاں آپ شروعاتی انڈیکس کی وضاحت کرسکتے ہیں۔ بطور ڈیفالٹ یہ صفر ہے ، لیکن آپ اسے اسٹارٹ دلیل استعمال کر کے تبدیل کر سکتے ہیں:

نمبر= ['ایک'، 'دو'، 'تین'، 'چار'، 'پانچ']

کے لیےانڈیکس،آئٹممیں درج(نمبر،شروع کریں=):

پرنٹ کریں (انڈیکس،آئٹم)

دوسرے بیان میں ، start = 1 دلیل نقطہ آغاز کو تبدیل کرنے کے لیے استعمال کی جاتی ہے۔ اوپر بیان کردہ کوڈ کا نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

1 ایک

2 دو

3 تین۔

4 چار۔

5 پانچ۔

اقدامات کے ساتھ انڈیکس تفویض کرنا۔

اس آرٹیکل کے پہلے سیکشن میں ، C زبان میں لوپ کے لیے نحو دکھایا گیا ہے جہاں آپ ہر بعد کی گنتی یا انڈیکس کے درمیان اقدامات کی وضاحت کر سکتے ہیں۔ ازگر میں گنتی فنکشن کے پاس ایسی کوئی دلیل دستیاب نہیں ہے لہذا آپ شمار کے درمیان ایک قدم کی وضاحت نہیں کرسکتے ہیں۔ لوپ بلاک کے لیے گنتی کے اندر اقدامات کو نافذ کرنے کے لیے آپ واقعی اپنی منطق لکھ سکتے ہیں۔ تاہم ، کم سے کم کوڈ لکھ کر اپنی مرضی کے مراحل کو نافذ کرنے کا ایک طریقہ ہے۔ مندرجہ ذیل مثال زپ اور رینج افعال کا استعمال کرتے ہوئے اقدامات کے نفاذ کو ظاہر کرتی ہے۔

نمبر= ['صفر'، 'دو'، 'چار'، 'چھ']

کے لیےانڈیکس،آئٹممیں زپ(رینج(، ، )،نمبر):

پرنٹ کریں (انڈیکس،آئٹم)

زپ فنکشن آپ کو دو یا زیادہ تکرار سے ایک ہی انڈیکس والے عناصر کو اٹھا کر جوڑے بنانے کی اجازت دیتا ہے۔ لہذا یہاں زپ فنکشن رینج (0 ، 7 ، 2) فنکشن سے واپس آنے والے عنصر سے ایک عنصر اور نمبروں کی فہرست سے دوسرا عنصر چنتا ہے اور پھر ان دونوں کو ایک ٹپل میں جوڑتا ہے۔ حتمی نتیجہ گنتی فنکشن کا یکساں نفاذ ہے لیکن حسب ضرورت اقدامات کے ساتھ رینج (0 ، 7 ، 2) فنکشن (اس معاملے میں 2) میں تیسری دلیل کے طور پر بیان کیا گیا ہے۔ اوپر بیان کردہ کوڈ کا نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

0 صفر۔

2 دو

4 چار۔

6 چھ۔

نتیجہ

ازگر میں گنتی فنکشن آپ کو قابل تکرار شے میں عناصر کو ایک نمبر ترتیب تفویض کرکے جامع کوڈ لکھنے کی اجازت دیتا ہے۔ یہ واقعی مفید ہے اگر آپ ایک قابل تکرار قسم کے اندر اشیاء کے انڈیکس پر نظر رکھنا چاہتے ہیں۔ اگر آپ اپنی مرضی کے مطابق اقدامات کے ساتھ قابل تکرار اقسام کی گنتی کرنا چاہتے ہیں تو آخری مثال میں بیان کردہ زپ فنکشن استعمال کریں۔