مشق For Loop Over String پر مشق

محمداحمد

لائبریرین
درج ذیل تین فنکشن دیکھیے۔
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۔
 

عائشہ عزیز

لائبریرین
1.1 ۔ ایک ایسا فنکشن بنائیے جو کسی بھی ٹیکسٹ میں حرف 'z' کی دستیابی کو یقینی بنائے True ریٹرن کرے اور اس حرف کی عدم دستیابی پر False ریٹرن کرے۔

PHP:
def check_z(text):
    new_text = ''
    for i in text:
        if i == "z" or i == "Z":
            return True
 
    return False

نتیجہ:

PHP:
>>> check_z("Zatt stargate")
True
 
>>> check_z("Don't cry because it's over, smile because it happened.” ")
False
 

عائشہ عزیز

لائبریرین
1.2 ۔ ایک ایسا فنکشن بنائیے جو 3 پیرامیٹر لے پہلا ٹیکسٹ کے لئے اور ٹیکسٹ کے علاوہ 2 پیرا میٹرز میں 2 کیرکٹرز (حرف) لے اور کسی بھی ٹیکسٹ میں پہلے پیرامیٹر (حرف) کو تلاش کرے اور اس کے ملنے پر اسے دوسرے پیرامیٹر میں دئے گئے حرف سے بدل دے۔ اور نیا اسٹرنگ ریٹرن کرے۔

PHP:
def find_replace(text, f , r):
    temp = ""
    for i in text:
        if i == f:
            temp += r
        else:
            temp += i
    return temp

نتیجہ:

PHP:
>>> find_replace("Don't cry because it's over, smile because it happened.", "s", "S")
"Don't cry becauSe it'S over, Smile becauSe it happened."
 

عائشہ عزیز

لائبریرین
1.3 ۔ فنکشن no_e کی طرز پر ایک فنکشن بنائیے جو اس بات کا تعین کرے کہ کسی ٹیکسٹ میں حرف 'y' اور 'x' موجود نہ ہوں۔ اور ان دونوں حروف کی عدم دستیابی پر True ریٹرن کرے ورنہ False۔

PHP:
def find_xny(text):
 
    for i in text:
        if i == "x" or i == "y" or i == "X" or i == "Y":
            return False
    return True


نتائج :

PHP:
>>> find_xny("Those who mind don't matter, and those who matter don't mind.")
True
>>> find_xny("A room without books is like a body without a soul.")
False
 
1.1 ۔ ایک ایسا فنکشن بنائیے جو کسی بھی ٹیکسٹ میں حرف 'z' کی دستیابی کو یقینی بنائے True ریٹرن کرے اور اس حرف کی عدم دستیابی پر False ریٹرن کرے۔

PHP:
def check_z(text):
    new_text = ''
    for i in text:
        if i == "z" or i == "Z":
            return True
 
    return False

نتیجہ:

PHP:
>>> check_z("Zatt stargate")
True
 
>>> check_z("Don't cry because it's over, smile because it happened.” ")
False

اس میں new_text اضافی ہے۔

چند اور طریقے اس کام کو کرنے کے لیے

PHP:
text = "now just checking the zen of haq"
 
if any(s in text for s in ('z','Z')):
  print("condition tuple true")
else:
    print('condition false')
 
Output:
condition tuple true

ایک اور مثال
PHP:
text = "just checking the zen of haq"
 
for c in text:
    if c in ('z','Z'):
      print('{} in [{text}] string'.format(c,text=text))
 
Output:
z in [just checking the zen of haq] string
 

موجو

لائبریرین
1.1
PHP:
def z_exist(text):
    '''
This function check availability of character 'z' in given text.
>>>a="Samsung Electronics Co Ltd said it will launch its new Galaxy S smartphone on March 14 in New York"
>>>b=z_exist(a)
>>>b
False
'''
    for i in text:
        if i=='z' or i=='Z':
            return True
    return False
 
>>> a="Samsung Electronics Co Ltd said it will launch its new Galaxy S smartphone on March 14 in New York"
>>> b=z_exist(a)
>>> b
False
>>> a='Doctor Zonia Tanveer is available'
>>> b=z_exist(a)
>>> b
True
 

موجو

لائبریرین
1.2
PHP:
def text_replacer(text,finder,replacer):
    text1=''
    for i in text:
        if i==finder:
            i=replacer
            text1=text1+i
        else:
            text1=text1+i
    return text1
 
>>> a="Want to set up something for a working team to quickly throw ideas against the wall? MediaWiki can do that."
>>> b=text_replacer(a,"a","k")
>>> b
'Wknt to set up something for k working tekm to quickly throw ideks kgkinst the wkll? MedikWiki ckn do thkt.'
 

موجو

لائبریرین
1.3
PHP:
def xy_exist(text):
    for i in text:
        if i=="x" or i=="X" and i=="y" or i=="Y":
            return True
    return False
 
>>> a="Want to set up something for a working"
>>> b=xy_exist(a)
>>> b
False
>>> a="Hello World xy is a z"
>>> b=xy_exist(a)
>>> b
True
 
Top