إعلان
تعلم الآن

الخوارزميات و هياكل البيانات التحدي الثاني - حل التمرين الثاني بلغة بايثون

المطلوب

قم بتعريف دالة إسمها ReplaceAll, فكرتها البحث في النص عن جزئية ( كلمة أو جملة ) محددة و تبديلها بجزئية أخرى.
عند استدعاءها يجب أن نمرر لها ثلاث نصوص. الأول يمثل نص عادي, الثاني يمثل الجزئية التي نريد البحث عنها, و الثالث يمثل الجزئية التي نريد وضعها مكان الجزئية الثانية.
في النهاية يجب أن ترجع نسخة من النص الأول بعد أن تم تبديل الجزئية التي البحث عنها بالجزئية التي نريد وضعها مكانها.
بعدها قم بتجربة هذه الدالة في البرنامج.

مثال: باستخدام الدالة ReplaceAll() يمكننا تبديل كل كلمة "cat" موجودة في النص "I like cats. I have one cat." بالكلمة "dog" و عندها سترجع لنا النص "I like dogs. I have one dog.".


الحل بلغة بايثون

def replace_all(text, find, replacement):

    text_length = len(text)
    find_length = len(find)
    new_string = ''

    i = 0
    while i < text_length:

        if i <= text_length - find_length and text[i: i + find_length] == find:
            new_string += replacement
            i += find_length

        else:
            new_string += text[i]
            i += 1

    return new_string


text = "I like cats. I have one cat."
find = "cat"
replacement = "dog"
newText = replace_all(text, find, replacement)

print("Before:", text)
print("After: ", newText)
		

سنحصل على النتيجة التالية عند التشغيل.

Before: I like cats. I have one cat.
After:  I like dogs. I have one dog.
		
إعلان
دورة قواعد بيانات MySQL في هذه الدورة ستتعلم أساسيات قواعد البيانات و أوامر SQL، العلاقات (Join) بين الجداول، Normalization مع تطبيق مشروع متكامل. سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
سعر الدورة الآن هو 20 ريال سعودي فقط بدلاً من 600 ريال
تعلم الآن

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة