التحدي رقم 21 لليوم رقم 21 من رمضان
اولا
كل عام و انتم بخير و اعاده الله عليكم بالمن و بالخير و البركه
كنا نقول اهلا و الان وداعا يا شهر الخير و العباده
و لا تنسي تجديد نيتك فأن طلب العلم عباده
لا تنسوني و اخي المعتقل سياسيا من جميل دعائكم في هذه الليالي العشر
وصف التحدي :
متنساش تدعي لخواتنا ف غزه لو لسه عندك قلب و شوية دم
**مستوي التحدي : **
متوسط برمجيا
قم بكتابة دالة اسمها: arrowDuplicates
تستقبل متغير من نوع string
يتكون من حروف، تقوم الدالة باستبدال الاحرف باحد الرمزين (>) و(<) بحيث اذا كان الحرف مكرر في الكلمة يتحول الى > واذا كان الحرف لا يتكرر يتحول الى <
حيث النتيجة للدالة تكون من نوع string
ملحوظه : تقدر تحل التحدي و تتحقق من صحته من خلال الموقع هنا اهو :
موقع سلسلة حل المشكلات (Problem Sloving)
بس خد بالك لو هتحل ع الموقع لازم اسم الداله يكون زي الاسم اللي موجود في وصف التحدي
أضغط لرؤية المخرجات المتوقعة عشان تتيست الكود بتاعك
الاختبار 1
المدخلات (Inputs)
word = ‘Hi’
المخرجات (Outputs)
‘>>’
الاختبار 2
المدخلات (Inputs)
word = ‘Bb’
المخرجات (Outputs)
‘<<’
الاختبار 3
المدخلات (Inputs)
word = ‘SAFCSP’
المخرجات (Outputs)
‘<>>><>’
الاختبار 4
المدخلات (Inputs)
word = ‘Java’
المخرجات (Outputs)
‘><><’
حل التحدي
def arrowDuplicates(word):
new_word = word.lower()
for i in range(len(new_word)):
if i != 0:
if (new_word[i] in new_word[i+1:]) or (new_word[i] in new_word[i-1::-1]):
new_word = new_word.replace(new_word[i],"<")
else:
new_word = new_word.replace(new_word[i],">")
else:
if (new_word[i] in new_word[i+1:]):
new_word = new_word.replace(new_word[i],"<")
else:
new_word = new_word.replace(new_word[i],">")
return new_word