تعديل جهة اتصال
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 20 من 78.
التحدي
سهلالخطوة التالية هي إنشاء وظيفة edit_contact. ستسمح هذه الوظيفة للمستخدمين بتحديث تفاصيل جهة اتصال موجودة في دفتر العناوين (Contact Book).
مهمتك:
- أنشئ وظيفة باسم
edit_contactتأخذ وسيطاً واحداً:contact_book(قاموس). - احصل على مدخل لاسم جهة الاتصال التي يريد المستخدم تعديلها.
- تحقق مما إذا كان الاسم موجوداً في
contact_book:- إذا كان موجوداً، اطلب من المستخدم إدخال قيم جديدة لرقم الهاتف، والبريد الإلكتروني، والعنوان الخاص بجهة الاتصال (بهذا الترتيب!).
- إذا لم يقدم المستخدم أي إدخال (ضغط على Enter)، فاحتفظ بالقيمة الحالية لهذا الحقل (في هذه الحالة سيكون الإدخال سلسلة فارغة،
''). - قم بتحديث معلومات جهة الاتصال في القاموس.
- اطبع:
"Contact updated successfully!".
- إذا كانت جهة الاتصال غير موجودة، اطبع:
"Contact not found!".
تذكر: لا تقرأ المدخلات الخاصة بالهاتف والبريد الإلكتروني والعنوان إلا إذا كانت جهة الاتصال موجودة في دفتر العناوين. إذا لم يتم العثور على جهة الاتصال، اطبع رسالة الخطأ فوراً دون محاولة قراءة مدخلات إضافية.
السلوك المتوقع:
بالنسبة لـ contact_book يحتوي على:
{"Alice": {"phone": "123-456-7890", "email": "alice@example.com", "address": "123 Main St"}}إذا أدخل المستخدم:
Alice
987-654-3210
456 Elm Stيجب أن يبدو contact_book المحدث كما يلي:
{"Alice": {"phone": "987-654-3210", "email": "alice@example.com", "address": "456 Elm St"}}إذا أدخل المستخدم اسماً غير موجود:
Bobيجب أن يكون المخرج:
Contact not found!جرّب بنفسك
def display_menu():
print("Contact Book Menu:")
print("1. Add Contact")
print("2. View Contact")
print("3. Edit Contact")
print("4. Delete Contact")
print("5. List All Contacts")
print("6. Exit")
def add_contact(contact_book):
name = input()
if name in contact_book:
print("Contact already exists!")
return
phone = input()
email = input()
address = input()
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
def view_contact(contact_book):
name = input()
if name in contact_book:
contact = contact_book[name]
print(f"Name: {name}")
print(f"Phone: {contact['phone']}")
print(f"Email: {contact['email']}")
print(f"Address: {contact['address']}")
else:
print("Contact not found!")جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق