מנהל אנשי קשר חכם
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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. עבדו כל איש קשר
# - נקו את כתובת האימייל (אותיות קטנות) ואת מספר הטלפון (ספרות בלבד)
# - בדקו אם כתובת האימייל ומספר הטלפון תקינים
# - בדקו אם יש כפילויות
# 3. החזירו את רשימת אנשי הקשר הנקייה
passכל השיעורים ביחידה לוגיקה וזרימת תוכנית
4יישום ספר אנשי קשר
הצגת התפריטהוספת איש קשר7קבוצות חלק 2
פעולות מתמטיות חלק 1פעולות מתמטיות חלק 2סיכום – חיפוש אוצרתת־קבוצות וקבוצות־עלמעבר על קבוצותסיכום – מעקב אחר טורניר8מנהל רישומי תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר Python אונליין