Menu
Coddy logo textTech

Intelligenter Kontaktmanager

Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 76 von 78.

challenge icon

Aufgabe

Mittel

Erstellen Sie eine Funktion namens organize_contacts, die eine Liste von Kontakt-Dictionaries verarbeitet, um eine bereinigte Kontaktdatenbank zu erstellen.

Jedes Kontakt-Dictionary in der Eingabeliste hat diese Schlüssel:

  • name: Der Name der Person
  • email: Die E-Mail-Adresse der Person
  • phone: Die Telefonnummer der Person

Ihre Funktion sollte:

  1. Duplikate entfernen (Kontakte mit derselben E-Mail oder Telefonnummer), wobei das erste Vorkommen beibehalten wird
  2. Alle E-Mails auf Kleinschreibung standardisieren
  3. Kontakte mit ungültigen E-Mail-Adressen herausfiltern
  4. Kontakte mit ungültigen Telefonnummern herausfiltern
  5. Eine Liste der bereinigten Kontakt-Dictionaries zurückgeben

Validierungsregeln:

  • Gültige E-Mail: Muss '@' und '.' enthalten und darf keine Leerzeichen enthalten
  • Gültige Telefonnummer: Muss genau 10 Ziffern enthalten (ignorieren Sie Nicht-Ziffern-Zeichen wie Bindestriche oder Klammern)

Zum Bereinigen von Telefonnummern sollten Sie Pythons str.isdigit()-Methode verwenden, um nur die numerischen Ziffern aus den Telefonnummern zu extrahieren. Diese Methode gibt True zurück, wenn ein Zeichen eine Ziffer (0-9) ist, und andernfalls False, was sie perfekt zum Herausfiltern von Nicht-Ziffern-Zeichen macht.

Beispiel-Eingabe:

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

Erwartete Ausgabe:

[
    {"name": "John Doe", "email": "john@email.com", "phone": "1234567890"}
]

Probier es selbst

def organize_contacts(contact_list):
    # Deine Lösung hier
    
    # 1. Erstelle Hilfsfunktionen zur Validierung
    # - Funktion zur Validierung des E-Mail-Formats
    # - Funktion zum Bereinigen und Validieren von Telefonnummern
    
    # 2. Verarbeite jeden Kontakt
    # - E-Mail bereinigen (Kleinschreibung) und Telefon (nur Ziffern)
    # - Prüfen, ob E-Mail und Telefon gültig sind
    # - Auf Duplikate prüfen
    
    # 3. Gib die bereinigte Kontaktliste zurück
    pass

Alle Lektionen in Logic & Flow