Tümü Bir Arada
Coddy'nin Python Journey'sinin Logic & Flow bölümünün bir parçası — ders 23 / 78.
Görev
KolayRehber için tüm bireysel fonksiyonları oluşturduğunuza göre, şimdi tam programı oluşturmak için bunları bir araya getirme zamanı!
Göreviniz:
- Oluşturduğunuz fonksiyonları birleştirin:
display_menu: Kullanıcı için menü seçeneklerini görüntüler.add_contact: Rehbere yeni bir kişi ekler.view_contact: Belirli bir kişinin ayrıntılarını görüntüler.edit_contact: Mevcut bir kişinin bilgilerini günceller.delete_contact: Rehberden bir kişiyi siler.list_all_contacts: Rehberdeki tüm kişileri görüntüler.
- Kişileri saklamak için
contact_bookadında bir sözlük oluşturun. - Şunları yapan bir döngü yazın:
display_menukullanarak menüyü görüntüler.- Menü seçimi için kullanıcı girişini kabul eder.
- Kullanıcının seçimine göre uygun fonksiyonu çağırır.
- Kullanıcı geçerli menü seçeneklerinden biri olmayan bir seçim girerse
"Invalid choice. Please try again."yazdırır. - Kullanıcı programdan çıkış seçeneğini seçene kadar devam eder.
Beklenen Davranış:
Programı çalıştırdığınızda şunları yapmalıdır:
- Kullanıcının seçebileceği bir seçenekler menüsü gösterir.
- Uygun fonksiyonu çağırarak kullanıcının Rehber ile etkileşime girmesine izin verir.
- Kullanıcı tanınmayan bir seçenek girdiğinde "Invalid choice. Please try again." yazdırır.
- Kullanıcı "Exit" seçeneğini seçtiğinde programdan temiz bir şekilde çıkar.
Bu son adım, kazandığınız tüm bilgileri tam işlevsel bir Rehber uygulamasında birleştirir. Sıkı çalışmanızın meyvelerini toplamanın tadını çıkarın! 🎉
Kendin dene
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!")
def edit_contact(contact_book):
name = input()
if name in contact_book:
phone = input()
email = input()
address = input()
if phone == '':
phone = contact_book[name]['phone']
if email == '':
email = contact_book[name]['email']
if address == '':
address = contact_book[name]['address']
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact updated successfully!")
else:
print("Contact not found!")
def delete_contact(contact_book):
name = input()
if name in contact_book:
del contact_book[name]
print("Contact deleted successfully!")
else:
print("Contact not found!")
def list_all_contacts(contact_book):
if not contact_book:
print("No contacts available.")
else:
for name, details in contact_book.items():
print(f"Name: {name}")
print(f"Phone: {details['phone']}")
print(f"Email: {details['email']}")
print(f"Address: {details['address']}")
print() # Blank line between contacts for readability
Logic & Flow bölümündeki tüm dersler
1Değişken Keşfi
SabitlerÇoklu Değişken AtamalarıDeğişken TakasıYer Tutucu DeğişkenlerSayıları YuvarlamaListe Tür Dönüşümü4Rehber Uygulaması
Menüyü GörüntüleKişi Ekle7Kümeler Bölüm 2
Matematiksel İşlemler Bölüm 1Matematiksel İşlemler Bölüm 2Özet - Hazine AvıAlt Kümeler ve Üst KümelerKümeler Üzerinde YinelemeÖzet - Turnuva Takipçisi10Temel List Comprehension Yapıları
SözdizimiBasit Listeler OluşturmaKoşul EklemeVeri Toplulaştırma KullanımıÖzet - Liste EviÖzet - Özgürlük Elementleri13Envanter Yönetim Sistemi
Projeye Genel BakışÖğe Ekle2Sözlükler Bölüm 1
Sözlük Nedir?Sözlük OluşturmaDeğerlere ErişmeSözlükleri DeğiştirmeÖzet - Tarif Yöneticisi5İleri Seviye Karar Yapıları
Ternary OperatörüÜyelik KontrolleriKimlik KontrolleriGirintileme HatalarıÖzet - Tatil Filtresi8Öğrenci Kayıt Yöneticisi
Projeye Genel BakışÖğrenci Ekle11İleri Seviye Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar Görevi - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Listeleri Toplama14Yüksek Mertebeden Fonksiyonlar
Map FonksiyonuFilter FonksiyonuÖzet - E-posta DoğrulayıcıÖzet - Sayı İşleyici3Sözlükler Bölüm 2
Sözlük Metotlarıİç İçe SözlüklerAnahtar KontrolüSözlüklerde DöngülerÖzet - Frekans Sayacı9İleri Düzey Veri Toplulaştırma
Toplam KullanımıMinimum ve Maksimumu BulmaVerileri Verimli SıralamaÖzet - Dictionary Sıralayıcı