العَودية مع السلاسل النصية والقوائم

12.3 العَودية مع السلاسل النصية والقوائم

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على:

  • توضيح استخدام العَودية لحل مسألة تتعلق بالسلاسل النصية.
  • توضيح استخدام العَودية لحل مسألة تتعلق بالقوائم.
  • استخدام الدالّة المُضمَّنة count() للقوائم.

العَودية مع السلاسل النصية

الكلمة التي تُقرأ بنفس الطريقة من الأمام والخلف تُسمى متناظرة. مثال: racecar.

يمكن استخدام العَودية لتحديد ما إذا كانت كلمة معينة متناظرة.

نقطة تحقق

تحديد المتناظرات

مفاهيم تطبيقية

العَودية مع السلاسل النصية

ارجع إلى العرض التوضيحي أعلاه.

1.
أي مما يلي تتعرف عليه الدالّة palindrome() كمتناظرة؟
  1. madamm
  2. madaM
  3. madame
2.
ماذا سيحدث إذا غُيِّر الشرط في السطر 4 من الدالّة palindrome() إلى if len(word) == 1:؟
  1. فقط المتناظرات ذات العدد الفردي من الحروف ستُعرَّف بشكل صحيح.
  2. لا شيء. ستعمل الدالّة بنفس الطريقة.
  3. لن تتعرف الدالّة على أي متناظرات.
3.
ماذا سيحدث إذا غُيِّر الشرط في السطر 8 من الدالّة palindrome() إلى if palindrome(word.strip(word[0]))؟
  1. لا شيء. ستعمل الدالّة بنفس الطريقة: سيُزال الحرف الأول والأخير.
  2. بعض الكلمات، مثل "madamm"، ستُعرَّف خطأً على أنها متناظرة.

العَودية مع القوائم

يعرض العرض التوضيحي أدناه طريقة عَودية للتحقق مما إذا كانت قائمتان تحتويان على نفس العناصر ولكن بترتيب مختلف.

تُرجع الدالّة count() عدد العناصر في قائمة تتطابق مع العنصر المُعطى، وتُرجع 0 بخلاف ذلك. مثال: بالنسبة لـ list_num = [1, 3, 3, 4]، تُرجع list_num.count(3) القيمة 2.

نقطة تحقق

التحقق من تباديل القوائم

مفاهيم تطبيقية

تباديل القوائم

ارجع إلى العرض التوضيحي أعلاه. ماذا ستُرجع الدالّة permu_check() لكل زوج من القوائم أدناه؟

4.
list_num = [1, 7, 99, 2]
other_list = [99, 7, 1, 2]
  1. True
  2. False
5.
list_num = [22, 9, 15, 17, 15]
other_list = [17, 9, 22, 22, 15]
  1. True
  2. False
6.
honors_list = ["Bo", "Joe", "Sandy"]
first_names_of_team_1 = ["Sandy", "Bo", "Joe"]
  1. True
  2. False
7.
this_list = [1, 2, [3], [4], 5]
that_list = [[3], 1, 5, [4], 2]
  1. True
  2. False
8.
list_1 = [1, 2, 3]
list_2 = [1, 2, 3]
  1. True
  2. False

جرّب بنفسك

إزالة التكرارات

اكتب دالّة عَودية rem_dup() تزيل التكرارات من قائمة.

مثال: القائمة [5, 5, 2, 1, 3, 1, 6] يجب أن تُنتج قائمة إخراج [5, 2, 1, 3, 6].