Menu
Coddy logo textTech

Akıllı Rehber Yöneticisi

Coddy'nin Python Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 76 / 78.

challenge icon

Görev

Orta

Temiz bir kişi veritabanı oluşturmak için kişi sözlüklerinden oluşan bir listeyi işleyen organize_contacts adlı bir işlev oluşturun.

Girdi listesindeki her kişi sözlüğü şu anahtarlara sahiptir:

  • name: Kişinin adı
  • email: Kişinin e-posta adresi
  • phone: Kişinin telefon numarası

İşleviniz şunları yapmalıdır:

  1. Yinelenen kişileri kaldırın (aynı e-posta veya telefon numarasına sahip kişiler); ilk karşılaşılanı koruyun
  2. Tüm e-postaları küçük harfe dönüştürün
  3. Geçersiz e-posta adreslerine sahip kişileri filtreleyin
  4. Geçersiz telefon numaralarına sahip kişileri filtreleyin
  5. Temizlenmiş kişi sözlüklerinden oluşan bir liste döndürün

Doğrulama kuralları:

  • Geçerli e-posta: '@' ve '.' içermeli ve boşluk içermemelidir
  • Geçerli telefon: Tam olarak 10 rakam içermelidir (tire veya parantez gibi rakam olmayan karakterleri yok sayın)

Telefon numaralarını temizlemek için telefon numaralarından yalnızca sayısal rakamları ayıklamak üzere Python'ın str.isdigit() yöntemini kullanmalısınız. Bu yöntem, bir karakter rakamsa (0-9) True, değilse False döndürür; bu da yöntemi rakam olmayan karakterleri filtrelemek için mükemmel kılar.

Örnek Girdi:

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

Beklenen Çıktı:

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

Kendin dene

def organize_contacts(contact_list):
    # Çözümünüz buraya
    
    # 1. Doğrulama için yardımcı fonksiyonlar oluştur
    # - E-posta formatını doğrulayan fonksiyon
    # - Telefon numaralarını temizleyen ve doğrulayan fonksiyon
    
    # 2. Her bir kişiyi işle
    # - E-postayı (küçük harf) ve telefonu (yalnızca rakamlar) temizle
    # - E-posta ve telefonun geçerli olup olmadığını kontrol et
    # - Yinelenenleri kontrol et
    
    # 3. Temiz kişi listesini döndür
    pass

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi