محمداحمد
لائبریرین
درج ذیل تین فنکشن دیکھیے۔
فنکشن ٹیسٹنگ:
وضاحت :
پہلا فنکشن remove_vowels کسی دیے گئے اسٹرنگ میں سے وولز (Vowels) کو شناخت کر کے حذف کر دیتا ہے اور ایک نیا اسٹرنگ بنا دیتا ہے۔
اس میں اسٹرنگ کو پڑھنے کے لئے For Loop استعمال کیا گیا ہے اور شرط کی جانچ کے لئے if بیان استعمال ہوا ہے۔ یعنی ٹیکسٹ کے ایک ایک کیریکٹر کو باری باری ایک ویری ایبل i میں لیا گیا ہے پھر اس بات کا اطمینان کیا گیا ہے کہ i میں موجود کیرکٹر vowel تو نہیں ہے اور یہ اطمینان کرنے کے بعد اس کیرکٹر کو نئے ویری ایبل new_text میں جوڑ (concatenate) دیا گیا ہے۔یہی عمل ہر کیرکٹر پر دُہرایا گیا ہے۔ اگر i میں موجود کیرکٹر کوئی واول (Vowel)ہے تو اسے new_text میں شامل نہیں کیا گیا۔ loop ختم ہونے پر new_text کو return کروادیا گیا ہے۔
مثال میں نتائج ملاحظہ کیے جا سکتے ہیں۔
----------
دوسرا فنکشن replace_vowel بھی پہلے فنکشن سے ملتا جلتا ہے۔ یہ ٹیکسٹ کے علاوہ ایک آرگیومینٹ replacer کے نام سے بھی لیتا ہے۔ اور یہ ٹیکسٹ میں سے وولز (Vowels) شناخت کرکے ان کی جگہ آپ کا دیا ہوا حرف (replacer) جڑ دیتا ہے۔ طریقہ کار پہلے فنکشن سے مماثل ہے۔
مثال ملاحظہ کیجے۔
-------
تیسرا فنکشن
جس طرح اردو میں آپ نے غیر منقوط (بغیر نقطے کی) شاعری یا نثر دیکھی ہوگی ایسے ہی انگریزی میں بھی اسی قسم کی تحریر لکھنے کی کوشش کی جاتی ہے جس کی مثال Lipogram ہے جس میں تحریر میں کسی خاص کیریکٹر سے احتراز کیا جاتا ہے۔ انگریزی زبان میں اس کی مثال ایک ناول Gadsby جس کی تحریر میں اس بات کا التزام کیا گیا ہے کہ تحریر میں کہیں بھی حرف 'e' نہ آئے۔
اسی قسم کی ٹیکسٹ کی جانچ کے لئے تیسرا فنکشن بنایا گیا ہے۔
یہ فنکشن چیک کرے گا کہ تحریر میں کہیں ممنوعہ حرف (ہماری مثال میں 'e') تو موجود نہیں ہے۔ اور ممنوعہ حرف کی دریافت پر False کا میسج دے گا ۔ یہ فنکشن بھی نہایت آسان ہے۔
دیکھیے مثال۔۔۔۔!
------
اب آجائیے مشق کی طرف:
1.1 ۔ ایک ایسا فنکشن بنائیے جو کسی بھی ٹیکسٹ میں حرف 'z' کی دستیابی کو یقینی بنائے True ریٹرن کرے اور اس حرف کی عدم دستیابی پر False ریٹرن کرے۔
1.2 ۔ ایک ایسا فنکشن بنائیے جو 3 پیرامیٹر لے پہلا ٹیکسٹ کے لئے اور ٹیکسٹ کے علاوہ 2 پیرا میٹرز میں 2 کیرکٹرز (حرف) لے اور کسی بھی ٹیکسٹ میں پہلے پیرامیٹر (حرف) کو تلاش کرے اور اس کے ملنے پر اسے دوسرے پیرامیٹر میں دئے گئے حرف سے بدل دے۔ اور نیا اسٹرنگ ریٹرن کرے۔
1.3 ۔ فنکشن no_e کی طرز پر ایک فنکشن بنائیے جو اس بات کا تعین کرے کہ کسی ٹیکسٹ میں حرف 'y' اور 'x' موجود نہ ہوں۔ اور ان دونوں حروف کی عدم دستیابی پر True ریٹرن کرے ورنہ False۔
PHP:
# FUNCTION 1
def remove_vowels (text):
new_text = ''
for i in text:
if i not in "aeiouAEIOU":
new_text = new_text + i
return new_text
#FUNCTION 2
def replace_vowels (text,replacer):
new_text = ''
for i in text:
if i not in "aeiouAEIOU":
new_text = new_text + i
else:
new_text = new_text + replacer
return new_text
#FUNCTION 3
def no_e (text):
for i in text:
if i == "e":
return False
return '''Perfect no "e" found.'''
فنکشن ٹیسٹنگ:
PHP:
# FUNCTION NO.1
>>> a = "The core of your life is your purpose. Everything in your life, from your diet to your career, must be aligned with your purpose if you are to act with coherence and integrity in the world. If you know your purpose, your deepest desire, then the secret of success is to discipline your life so that you support your deepest purpose and minimize distractions and detours.” – David Deida"
>>> b = remove_vowels (a)
>>> b
'Th cr f yr lf s yr prps. vrythng n yr lf, frm yr dt t yr crr, mst b lgnd wth yr prps f y r t ct wth chrnc nd ntgrty n th wrld. f y knw yr prps, yr dpst dsr, thn th scrt f sccss s t dscpln yr lf s tht y spprt yr dpst prps nd mnmz dstrctns nd dtrs.” – Dvd Dd'
>>>
# FUNCTION NO.2
>>> c = replace_vowels(a,"_")
>>> c
'Th_ c_r_ _f y__r l_f_ _s y__r p_rp_s_. _v_ryth_ng _n y__r l_f_, fr_m y__r d__t t_ y__r c_r__r, m_st b_ _l_gn_d w_th y__r p_rp_s_ _f y__ _r_ t_ _ct w_th c_h_r_nc_ _nd _nt_gr_ty _n th_ w_rld. _f y__ kn_w y__r p_rp_s_, y__r d__p_st d_s_r_, th_n th_ s_cr_t _f s_cc_ss _s t_ d_sc_pl_n_ y__r l_f_ s_ th_t y__ s_pp_rt y__r d__p_st p_rp_s_ _nd m_n_m_z_ d_str_ct__ns _nd d_t__rs.” – D_v_d D__d_'
# FUNCTION NO.3
>>> no_e(a)
False
>>> no_e(c)
'Perfect no "e" found.'
>>>
وضاحت :
پہلا فنکشن remove_vowels کسی دیے گئے اسٹرنگ میں سے وولز (Vowels) کو شناخت کر کے حذف کر دیتا ہے اور ایک نیا اسٹرنگ بنا دیتا ہے۔
اس میں اسٹرنگ کو پڑھنے کے لئے For Loop استعمال کیا گیا ہے اور شرط کی جانچ کے لئے if بیان استعمال ہوا ہے۔ یعنی ٹیکسٹ کے ایک ایک کیریکٹر کو باری باری ایک ویری ایبل i میں لیا گیا ہے پھر اس بات کا اطمینان کیا گیا ہے کہ i میں موجود کیرکٹر vowel تو نہیں ہے اور یہ اطمینان کرنے کے بعد اس کیرکٹر کو نئے ویری ایبل new_text میں جوڑ (concatenate) دیا گیا ہے۔یہی عمل ہر کیرکٹر پر دُہرایا گیا ہے۔ اگر i میں موجود کیرکٹر کوئی واول (Vowel)ہے تو اسے new_text میں شامل نہیں کیا گیا۔ loop ختم ہونے پر new_text کو return کروادیا گیا ہے۔
مثال میں نتائج ملاحظہ کیے جا سکتے ہیں۔
----------
دوسرا فنکشن replace_vowel بھی پہلے فنکشن سے ملتا جلتا ہے۔ یہ ٹیکسٹ کے علاوہ ایک آرگیومینٹ replacer کے نام سے بھی لیتا ہے۔ اور یہ ٹیکسٹ میں سے وولز (Vowels) شناخت کرکے ان کی جگہ آپ کا دیا ہوا حرف (replacer) جڑ دیتا ہے۔ طریقہ کار پہلے فنکشن سے مماثل ہے۔
مثال ملاحظہ کیجے۔
-------
تیسرا فنکشن
جس طرح اردو میں آپ نے غیر منقوط (بغیر نقطے کی) شاعری یا نثر دیکھی ہوگی ایسے ہی انگریزی میں بھی اسی قسم کی تحریر لکھنے کی کوشش کی جاتی ہے جس کی مثال Lipogram ہے جس میں تحریر میں کسی خاص کیریکٹر سے احتراز کیا جاتا ہے۔ انگریزی زبان میں اس کی مثال ایک ناول Gadsby جس کی تحریر میں اس بات کا التزام کیا گیا ہے کہ تحریر میں کہیں بھی حرف 'e' نہ آئے۔
اسی قسم کی ٹیکسٹ کی جانچ کے لئے تیسرا فنکشن بنایا گیا ہے۔
یہ فنکشن چیک کرے گا کہ تحریر میں کہیں ممنوعہ حرف (ہماری مثال میں 'e') تو موجود نہیں ہے۔ اور ممنوعہ حرف کی دریافت پر False کا میسج دے گا ۔ یہ فنکشن بھی نہایت آسان ہے۔
دیکھیے مثال۔۔۔۔!
------
اب آجائیے مشق کی طرف:
1.1 ۔ ایک ایسا فنکشن بنائیے جو کسی بھی ٹیکسٹ میں حرف 'z' کی دستیابی کو یقینی بنائے True ریٹرن کرے اور اس حرف کی عدم دستیابی پر False ریٹرن کرے۔
1.2 ۔ ایک ایسا فنکشن بنائیے جو 3 پیرامیٹر لے پہلا ٹیکسٹ کے لئے اور ٹیکسٹ کے علاوہ 2 پیرا میٹرز میں 2 کیرکٹرز (حرف) لے اور کسی بھی ٹیکسٹ میں پہلے پیرامیٹر (حرف) کو تلاش کرے اور اس کے ملنے پر اسے دوسرے پیرامیٹر میں دئے گئے حرف سے بدل دے۔ اور نیا اسٹرنگ ریٹرن کرے۔
1.3 ۔ فنکشن no_e کی طرز پر ایک فنکشن بنائیے جو اس بات کا تعین کرے کہ کسی ٹیکسٹ میں حرف 'y' اور 'x' موجود نہ ہوں۔ اور ان دونوں حروف کی عدم دستیابی پر True ریٹرن کرے ورنہ False۔