مراجعة - جمع القوائم المتداخلة
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 62 من 78.
التحدي
سهلاكتب دالة عودية (recursive function) تسمى sum_nested تأخذ قائمة متداخلة nested_list كوسيط (argument). يجب أن تقوم الدالة بما يلي:
- جمع كل الأعداد الصحيحة في القائمة، بما في ذلك الأعداد الصحيحة في أي قوائم فرعية.
- إرجاع المجموع الكلي كعدد صحيح.
يمكنك التحقق مما إذا كان العنصر عبارة عن قائمة باستخدام
isinstance(element, list)
مثال للمدخلات:
nested_list = [1, [2, 3], [4, [5, 6]], 7]مثال للمخرجات:
28جرّب بنفسك
def sum_nested(nested_list):
total = 0
for element in nested_list:
if isinstance(element, list): # التحقق مما إذا كان العنصر عبارة عن قائمة
# TODO: استدعاء sum_nested بشكل متكرر على القائمة الفرعية وإضافتها إلى المجموع
pass
else:
# TODO: إضافة العدد الصحيح مباشرة إلى المجموع
pass
return totalجميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب11الدوال المتقدمة
إرجاع قيم متعددةدوال Lambda الجزء الأولدوال Lambda الجزء الثانيتحدي المراجعة - فرز Lambdaالدوال العودية الجزء الأولالدوال العودية الجزء الثانيمراجعة - جمع القوائم المتداخلة3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق