Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مدير جهات اتصال ذكي

جزء من قسم المنطق وتدفق التنفيذ في رحلة Python على Coddy. الدرس 76 من 78.

challenge icon

التحدي

متوسط

أنشئ دالة باسم organize_contacts تعالج قائمة من قواميس جهات الاتصال لإنشاء قاعدة بيانات نظيفة لجهات الاتصال.

يحتوي كل قاموس لجهة اتصال في قائمة الإدخال على هذه المفاتيح:

  • name: اسم الشخص
  • email: عنوان البريد الإلكتروني للشخص
  • phone: رقم هاتف الشخص

ينبغي أن تقوم دالتك بما يلي:

  1. إزالة جهات الاتصال المكررة (جهات الاتصال التي لها البريد الإلكتروني نفسه أو رقم الهاتف نفسه)، مع الاحتفاظ بالتكرار الأول
  2. توحيد جميع عناوين البريد الإلكتروني إلى أحرف صغيرة
  3. تصفية جهات الاتصال التي تحتوي على عناوين بريد إلكتروني غير صالحة
  4. تصفية جهات الاتصال التي تحتوي على أرقام هواتف غير صالحة
  5. إرجاع قائمة من قواميس جهات الاتصال المنظفة

قواعد التحقق:

  • البريد الإلكتروني الصالح: يجب أن يحتوي على الرمز '@' والنقطة '.', وألا يحتوي على مسافات
  • الهاتف الصالح: يجب أن يحتوي على 10 أرقام بالضبط (تجاهل الأحرف غير الرقمية مثل الشرطات أو الأقواس)

لتنظيف أرقام الهواتف، ينبغي استخدام طريقة str.isdigit() في Python لاستخراج الأرقام الرقمية فقط من أرقام الهواتف. تُرجع هذه الطريقة True إذا كان الحرف رقمًا (من 0 إلى 9)، وFalse خلاف ذلك، مما يجعلها مثالية لتصفية الأحرف غير الرقمية.

مثال على الإدخال:

contacts = [
    {"name": "John Doe", "email": "john@email.com", "phone": "123-456-7890"}
]

الناتج المتوقع:

[
    {"name": "John Doe", "email": "john@email.com", "phone": "1234567890"}
]
REQUIRED OUTPUT FORMAT: [Your translated content here]

جرّب بنفسك

def organize_contacts(contact_list):
    # حلك هنا
    
    # 1. أنشئ دوال مساعدة للتحقق
    # - دالة للتحقق من تنسيق البريد الإلكتروني
    # - دالة لتنظيف والتحقق من أرقام الهاتف
    
    # 2. عالج كل جهة اتصال
    # - نظّف البريد الإلكتروني (lowercase) والهاتف (digits only)
    # - تحقق مما إذا كان البريد الإلكتروني والهاتف صالحين
    # - تحقق من التكرارات
    
    # 3. أعد قائمة جهات الاتصال النظيفة
    pass

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Python عبر الإنترنت