اكتب دالة باسم deepMerge تأخذ قاموسين وتدمجهما بشكل عميق. عند وجود نفس المفتاح في كلا القاموسين:

  • إذا كانت القيمتان قواميس، يتم دمجهما بشكل تكراري
  • إذا كانت القيمتان من أنواع أخرى، تُستبدل قيمة القاموس الأول بقيمة القاموس الثاني

المطلوب:

  • الدالة تأخذ معاملين: dict1 و dict2 (قاموسان)
  • الدالة تُرجع قاموس جديد يحتوي على جميع المفاتيح والقيم المدمجة
  • لا تعدل القواميس الأصلية
  • استخدم التكرار الذاتي (recursion) للتعامل مع القواميس المتداخلة

مثال:

deepMerge({"a": 1}, {"b": 2})                                      # {"a": 1, "b": 2}
deepMerge({"a": 1}, {"a": 2})                                      # {"a": 2}
deepMerge({"a": {"b": 1}}, {"a": {"c": 2}})                        # {"a": {"b": 1, "c": 2}}
deepMerge({"a": {"b": 1}}, {"a": {"b": 2}})                        # {"a": {"b": 2}}
deepMerge({"a": {"b": {"c": 1}}}, {"a": {"b": {"d": 2}}})          # {"a": {"b": {"c": 1, "d": 2}}}

الناتج (Console)

سيظهر ناتج تنفيذ الكود هنا.