مشق Dictionary کی مشقیں

اس دھاگے میں ڈکشنری کے متعلق مشقیں ہوں گی۔

پہلی مشق :
ایک ایسا پروگرام لکھنا ہے جو کسی بھی اسٹرنگ میں موجود حروف کو گن کر ہر حرف کی تعداد کو پرنٹ کیا جائے ۔ مثلا اگر اسٹرنگ برابر ہے "URDUWEB WELL" کے تو اس کا نتیجہ ایسے ظاہر ہو۔

کوڈ:
URDUWEB WELL
{'U':2,'R':1,'D':1,'W':2,'E':2,'B':1,'LL':2}
 

محمداحمد

لائبریرین
السلام علیکم محب بھیا کیسے ہیں آپ؟

یہ ایک کوشش کی ہے۔

PHP:
def counter(s):
    d = dict()
    for c in s:
        if c in d:
            d[c] += 1
        else:
            d[c] = 1
 
    return d
 
 
>>> counter ('URDUWEB WELL')
{' ': 1, 'B': 1, 'E': 2, 'D': 1, 'L': 2, 'R': 1, 'U': 2, 'W': 2}

اس فنکشن میں ہم نے حرف d کو بطور ڈکشنری ڈکلئر کیا ہے۔ اور پھر پیرامیٹر s میں موصول ہونے والے آرگیومینٹ کے حروف for اور in کے ذریعے ایک ایک کرکے پرکھے ہیں۔ for کی باڈی میں ifاور in آپریٹر کی مدد سے یہ معلوم کیا گیا ہے کہ آیا یہ حرف پہلے سے ڈکشنری میں موجود ہے یا نہیں ۔ اگر ہے تو پہلے سے موجود value میں ایک عدد کا اضافہ کردیا جائے گا اور اگر حرف پہلے سے موجود نہیں ہے تو اسے ڈکشنری میں شامل کرکے اسے ایک 1 کی قیمت تفویض کردی جائے گی۔ کسی تصیح یا بہتری کی گنجائش ہو تو ضرور بتائیں۔
 
میں اچھا ہوں احمد اور فوری جواب پر ایک عدد شاباش کے مستحق ہو۔

ایک اور مختصر کوڈ اسی مشق کے لیے

PHP:
letter_counts = {}
for letter in "Mississippi":
    letter_counts[letter] = letter_counts.get (letter, 0) + 1
 
 
print(letter_counts)
{'L': 2, 'E': 2, 'B': 1, 'W': 2, 'D': 1, 'U': 2, 'R': 1, ' ': 1}

اوپر مثال میں ہم نے ایک خالی ڈکشنری بنائی اور پھر for لوپ کی مدد سے ایک اسٹرنگ Mississippi کے ہر حرف کو کنجی کے طور پر لیا۔
ڈکشنری کے طریقہ get کی مدد سے چیک کیا کہ کیا حرف بطور کنجی موجود ہے
اگر ہاں
تو کنجی کے ساتھ جڑی قیمت واپس کردی
نہیں
تو ڈیفالٹ قیمت 0 واپس کردی

قیمت میں 1 جمع کرکے اسے موجودہ حرف بطور کنجی کی قیمت کے برابر کر دیا۔

PHP:
letter_counts.get (letter, 0)
 
#if letter present in letter_count then returns the value associated with letter(key)
otherwise returns defaulat value 0
 

hackerspk

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

PHP:
def dictSort(mydict):
  k = {}
  for key in sorted(mydict.keys()):
      k[key] = mydict[key]
      print ("{}: {}".format(key, mydict[key]))
 
 
letter_counts = {}
for letter in "Mississippi":
    letter_counts[letter] = letter_counts.get (letter, 0) + 1
 
dictSort(letter_counts)
 

محمدصابر

محفلین
میں اچھا ہوں احمد اور فوری جواب پر ایک عدد شاباش کے مستحق ہو۔

ایک اور مختصر کوڈ اسی مشق کے لیے

PHP:
letter_counts = {}
for letter in "Mississippi":
    letter_counts[letter] = letter_counts.get (letter, 0) + 1
 
 
print(letter_counts)
{'L': 2, 'E': 2, 'B': 1, 'W': 2, 'D': 1, 'U': 2, 'R': 1, ' ': 1}

اوپر مثال میں ہم نے ایک خالی ڈکشنری بنائی اور پھر for لوپ کی مدد سے ایک اسٹرنگ Mississippi کے ہر حرف کو کنجی کے طور پر لیا۔
ڈکشنری کے طریقہ get کی مدد سے چیک کیا کہ کیا حرف بطور کنجی موجود ہے
اگر ہاں
تو کنجی کے ساتھ جڑی قیمت واپس کردی
نہیں
تو ڈیفالٹ قیمت 0 واپس کردی

قیمت میں 1 جمع کرکے اسے موجودہ حرف بطور کنجی کی قیمت کے برابر کر دیا۔

PHP:
letter_counts.get (letter, 0)
 
#if letter present in letter_count then returns the value associated with letter(key)
otherwise returns defaulat value 0
یہ جواب کس سٹرنگ کا ہے۔ :) آپ کا شکریہ آپ کی وجہ سے آج بڑے دنوں بعد پائیتھون کھول کر کچھ ایگزیکیوٹ کیا ہے۔
 

محمداحمد

لائبریرین
یہ جواب کس سٹرنگ کا ہے۔ :) آپ کا شکریہ آپ کی وجہ سے آج بڑے دنوں بعد پائیتھون کھول کر کچھ ایگزیکیوٹ کیا ہے۔

{'L': 2, 'E': 2, 'B': 1, 'W': 2, 'D': 1, 'U': 2, 'R': 1, ' ': 1}

اگر آپ اس جواب کی بات کر رہے ہیں تو یہ
URDUWEB WELL کا جواب ہے۔ :)
 

محمداحمد

لائبریرین
محب بھائی بہترین۔ میں ضرور آپکے مراسلوں سے فائدہ اٹھاؤں گا۔ نالائق طلبہ میں میرا شمار ہے اس لیے دیر سے آؤں گا۔

اگر آپ کسرِ نفسی سے کام نہیں لے رہے تو یہ جان کر بڑی خوشی ہوئی کچھ تو 'ہماری' Strength بھی بڑھی ۔۔۔! :D :p
 
محب بھائی بہترین۔ میں ضرور آپکے مراسلوں سے فائدہ اٹھاؤں گا۔ نالائق طلبہ میں میرا شمار ہے اس لیے دیر سے آؤں گا۔

شکریہ اور تمہارے جیسے "نالائق " طلبہ کی سخت ضرورت ہے۔ :)

مذاق برطرف ، بہت خوشی ہوئی کہ اب تمہاری دلچسپی قائم ہو رہی ہے اور میں چاہوں گا کہ جیسا محمد احمد نے کہا ہماری ٹیم چھوٹی سی ہے اس میں تمہاری شمولیت سے بہت اہم اضافہ ہوگا اور کئی اور لوگوں کو بھی حوصلہ ہوگا مستقبل میں۔

دیر سے آنے کا بہت سے لوگ کہہ کر گئے ہیں مگر آتے نہیں ، ویسے ہی نہ بن جانا hackerspk ;)
 

محمداحمد

لائبریرین
شکریہ اور تمہارے جیسے "نالائق " طلبہ کی سخت ضرورت ہے۔ :)

مذاق برطرف ، بہت خوشی ہوئی کہ اب تمہاری دلچسپی قائم ہو رہی ہے اور میں چاہوں گا کہ جیسا محمد احمد نے کہا ہماری ٹیم چھوٹی سی ہے اس میں تمہاری شمولیت سے بہت اہم اضافہ ہوگا اور کئی اور لوگوں کو بھی حوصلہ ہوگا مستقبل میں۔

دیر سے آنے کا بہت سے لوگ کہہ کر گئے ہیں مگر آتے نہیں ، ویسے ہی نہ بن جانا hackerspk ;)

بالکل ٹھیک کہا محب بھائی آپ نے۔ ہیکر بھیا ماشاءاللہ پروگرامنگ میں کافی تجربہ کار ہیں اور اردو محفل میں اپنے اطلاقیہ پیش کرتے رہتے ہیں اور اُن کی اس سلسلے میں شمولیت ہم جیسے نو مشقوں کے لئے بہت سود مند رہے گی۔

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

اوپر احمد نے بتایا ہے اور شکر ہے کہ کلاس کے دو تین بندے قائم دائم ہیں۔ اگر میں دو تین غیر حاضر رہوں تو کچھ لکھ کر مجھے بھی ٹیگ کر دیا کریں۔ :)
 
بالکل ٹھیک کہا محب بھائی آپ نے۔ ہیکر بھیا ماشاءاللہ پروگرامنگ میں کافی تجربہ کار ہیں اور اردو محفل میں اپنے اطلاقیہ پیش کرتے رہتے ہیں اور اُن کی اس سلسلے میں شمولیت ہم جیسے نو مشقوں کے لئے بہت سود مند رہے گی۔

آپ نے مجھے ٹیگ کیا ہے لیکن میرے دونوں ناموں کے بیچ میں اسپیس نہیں ہے سو یہ اسپیس والے محمد احمد کوئی اور ہیں جو محفل میں آتے ہیں نہیں ہیں۔ :) میری یوزر آئی ڈی 740 ہے ۔

ہاں ہیکر کی شمولیت سے کافی فائدہ کی توقع ہے اور امید ہے کہ وہ اب شامل رہے گا۔

میں اب اس چیز کا خیال رکھوں گا اور ہاں سب سے زیادہ ہمیں اپنی مختصر ٹیم ہی پر انحصار کرنا ہے اور اس میں ہم چار لوگ ہیں اس وقت ، نام بتانے کی تو ضرورت نہیں نہ ۔ :)
 
Top