مدير جهات اتصال ذكي
جزء من قسم المنطق وتدفق التنفيذ في رحلة Python على Coddy. الدرس 76 من 78.
التحدي
متوسطأنشئ دالة باسم organize_contacts تعالج قائمة من قواميس جهات الاتصال لإنشاء قاعدة بيانات نظيفة لجهات الاتصال.
يحتوي كل قاموس لجهة اتصال في قائمة الإدخال على هذه المفاتيح:
name: اسم الشخصemail: عنوان البريد الإلكتروني للشخصphone: رقم هاتف الشخص
ينبغي أن تقوم دالتك بما يلي:
- إزالة جهات الاتصال المكررة (جهات الاتصال التي لها البريد الإلكتروني نفسه أو رقم الهاتف نفسه)، مع الاحتفاظ بالتكرار الأول
- توحيد جميع عناوين البريد الإلكتروني إلى أحرف صغيرة
- تصفية جهات الاتصال التي تحتوي على عناوين بريد إلكتروني غير صالحة
- تصفية جهات الاتصال التي تحتوي على أرقام هواتف غير صالحة
- إرجاع قائمة من قواميس جهات الاتصال المنظفة
قواعد التحقق:
- البريد الإلكتروني الصالح: يجب أن يحتوي على الرمز '@' والنقطة '.', وألا يحتوي على مسافات
- الهاتف الصالح: يجب أن يحتوي على 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"}
]جرّب بنفسك
def organize_contacts(contact_list):
# حلك هنا
# 1. أنشئ دوال مساعدة للتحقق
# - دالة للتحقق من تنسيق البريد الإلكتروني
# - دالة لتنظيف والتحقق من أرقام الهاتف
# 2. عالج كل جهة اتصال
# - نظّف البريد الإلكتروني (lowercase) والهاتف (digits only)
# - تحقق مما إذا كان البريد الإلكتروني والهاتف صالحين
# - تحقق من التكرارات
# 3. أعد قائمة جهات الاتصال النظيفة
passجميع دروس المنطق وتدفق التنفيذ
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوقتدرّب بنفسك: مترجم Python عبر الإنترنت