Menu
Coddy logo textTech

Intelligenter Kontaktmanager

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 76 von 78.

challenge icon

Aufgabe

Mittel

Erstelle eine Funktion namens organize_contacts, die eine Liste von Kontaktdictionaries verarbeitet, um eine übersichtliche Kontaktdatenbank zu erstellen.

Jedes Kontaktdictionary in der Eingabeliste enthält diese Schlüssel:

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

Deine Funktion sollte:

  1. Doppelte Kontakte entfernen (Kontakte mit derselben E-Mail-Adresse oder Telefonnummer), wobei das erste Vorkommen beibehalten wird
  2. Alle E-Mail-Adressen in Kleinbuchstaben standardisieren
  3. Kontakte mit ungültigen E-Mail-Adressen herausfiltern
  4. Kontakte mit ungültigen Telefonnummern herausfiltern
  5. Eine Liste bereinigter Kontaktdictionaries zurückgeben

Validierungsregeln:

  • Gültige E-Mail-Adresse: Muss ein „@“ und einen „.“ enthalten und darf keine Leerzeichen enthalten
  • Gültige Telefonnummer: Muss genau 10 Ziffern enthalten (nicht numerische Zeichen wie Bindestriche oder Klammern werden ignoriert)

Zum Bereinigen von Telefonnummern solltest du Pythons Methode str.isdigit() verwenden, um nur die numerischen Ziffern aus Telefonnummern zu extrahieren. Diese Methode gibt True zurück, wenn ein Zeichen eine Ziffer (0–9) ist, und andernfalls False, wodurch sie sich perfekt zum Herausfiltern nicht numerischer Zeichen eignet.

Beispieleingabe:

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 (Kleinbuchstaben) und Telefon (nur Ziffern)
    # - Prüfe, ob E-Mail und Telefon gültig sind
    # - Auf Duplikate prüfen
    
    # 3. Gib die bereinigte Kontaktliste zurück
    pass

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler