ازگر میں ، 'اگر قدر ڈیک میں نہیں' اور 'اگر ڈیک میں قدر نہیں' کے درمیان کیا فرق ہے؟


جواب 1:

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

آئیے سوچتے ہیں کہ اس کی طرح ہے ، جب ہم کہتے ہیں (100 = 1) یہ یقینی طور پر غلط ہے لیکن اس کی نفی کیا ہوگی؟ like (100 = 1) جیسی کوئی چیز ہوگی اور اس کے نتیجے میں false (جھوٹا) ثابت ہوگا۔

یہاں چیزیں اسی طرح کام کرتی ہیں

1) اگر قیمت ڈیک میں نہیں ہے:

آئیے ہم ایک x = {100: 1،50: 2،25: 3) لکھتے ہیں

اگر میں کلید 12 کو چیک کرتا ہوں جو مذکورہ بالا لغت میں نہیں ہے

ہم لغت سے کسی بھی کلید کی قیمت کیسے حاصل کرتے ہیں ، ہم اسے X [key] کے بطور لکھتے ہیں۔ جیسے x [100] قیمت 1 دے گا کیونکہ وہاں قیمت مل گئی تھی لیکن x [12] کسی بھی قیمت کو واپس نہیں کرے گا اس کی بجائے پھینک دے گا۔ ایک خامی پیغام جس میں کہا گیا ہے کہ لغت x میں 12 کی کوئی کلید نہیں ہے۔

اب اصل سوال کی طرف آرہا ہے اگر مجھے یہ دیکھنا ہے کہ اگر کسی لغت میں کوئی کلیدی قدر موجود ہے تو میں لکھوں گا

اگر x.keys () میں 'کلید' ہے تو یہاں ایکس سے مراد مذکورہ لغت ہے۔

تو یہاں ایک چیک کروائیں

اگر 12. x.keys () میں:

پرنٹ ("ملا")؛

اور:

پرنٹ ("نہیں ملا!")؛

یہ "نہیں ملا" پرنٹ کرے گا کیونکہ 12 نہیں ملا تھا۔ اب آئیے کچھ اور کرنے کی کوشش کریں۔

اگر! x.keys () میں 12:

پرنٹ ("نہیں مقدار: 12")؛

مذکورہ بالا یہ بلاک اس کی جانچ پڑتال کرے گا کہ اگر کلیدی 12 "لغت میں نہیں ہے"

'اگر قیمت ڈیک میں نہیں ہے' کا کیا مطلب ہے یہ چیک کریں کہ میں نے جو قدر طلب کی ہے ، اگر لغت میں موجود نہیں ہے تو وہ درست ہے ۔یہ آسان ہے

2) اگر لغت میں قدر نہ ہو

یہ اس بیان کی نفی کی طرح ہے جس میں نے لکھا ہے (100 == 1) ~ (100 == 1) کی نفی کرے گا

اس کا کیا مطلب ہے کہ اگر اس کی قیمت لغت میں موجود ہے تو یہ حقیقت میں لوٹ آئے گی اور اس بلاک سے غلط لوٹ جانے کی نفی کرے گی اور اس کے برعکس

یہاں ایک مثال یہ ہے کہ لغت ایک ہی کلید کو چیک کرنے کے لئے اوپر کی طرح ہوگی

اگر! (x.keys () میں 12):

پرنٹ ("ملا")؛

کوڈ کا یہ بلاک چلائے گا۔

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

امید ہے کہ اب یہ کچھ سمجھ میں آجائے گا۔


جواب 2:

ہائے ، آپ کے پاس ایک اچھا سوال ہے اور یہ کسی بھی پروگرامنگ زبان میں سب سے بنیادی سبق سکھایا جاتا ہے۔ اسے آپریٹر کی ترجیح کہا جاتا ہے۔ آئیے مندرجہ ذیل لغت پر غور کریں۔

ڈک = {0: -1، 1: 2، 3: 4}
# اگرچہ ہمیں اس کا نام "ڈک" نہیں رکھنا چاہئے ، کیونکہ یہ ایک مخصوص مطلوبہ لفظ ہے۔
# لیکن چونکہ آپ نے اسے استعمال کیا ہے ، لہذا میں بھی ہوں۔

(نوٹ: میں لغت میں کلیدوں کی طرح قدر پر غور کررہا ہوں۔)

ممبرشپ آپریٹرز کے لئے جیسے 'نہیں' اور 'ان' میں ہماری پہلی مثال ہے جیسے 'نہیں' میں۔

قیمت ڈکٹیشن میں نہیں

اس بیان کو (قیمت) کے بطور تقسیم کیا جاسکتا ہے۔ ڈکٹ میں قدر کی ممبرشپ کو ‘ان ان’ نہیں چیک کرتا ہے۔ لہذا ، اگر میں کہتا ہوں ، 1 ڈکٹ میں نہیں ، تو میں غلط ہو جاؤں گا۔ لیکن اگر میں کہتا ہوں ، 100 ڈکٹ میں نہیں ، تو میں سچ ہوجاؤں گا۔

ڈیک میں قدر نہیں

اس بیان کو (ڈیک) میں ((قدر)) کے طور پر تقسیم کیا جاسکتا ہے۔ تو پہلے ، ((قدر) میں (ڈیک) چیک کیا جاتا ہے اور پھر نفی کا اطلاق ہوتا ہے۔ لہذا ، اگر میں کہتا ہوں ، 1 ڈیک میں نہیں ، تو پہلے ، 1 ڈیک میں 1 صحیح ہونے کا اندازہ لگائے گا اور اس کے بعد ‘نہیں’ نفی کو لاگو کرے گا اور اس طرح مجموعی طور پر اس کا نتیجہ ‘سچ نہیں‘ ہوگا ، یعنی ، جھوٹا۔

دوسری طرف ، اگر میں کہتا ہوں ، 100 ڈیک میں نہیں ، تو 100 میں پہلے 100 میں غلط ہونے کا اندازہ لگائے گا ، پھر نفی کو ‘نہیں’ کے ذریعہ لاگو کیا جائے گا اور مجموعی نتیجہ سچا ہوگا۔

امید ہے کہ مدد کرتا ہے !!