Menu
Coddy logo textTech

Tümü Bir Arada

Coddy'nin Python Journey'sinin Logic & Flow bölümünün bir parçası — ders 23 / 78.

challenge icon

Görev

Kolay

Rehber 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:

  1. 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.
  2. Kişileri saklamak için contact_book adında bir sözlük oluşturun.
  3. Şunları yapan bir döngü yazın:
    • display_menu kullanarak 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:

  1. Kullanıcının seçebileceği bir seçenekler menüsü gösterir.
  2. Uygun fonksiyonu çağırarak kullanıcının Rehber ile etkileşime girmesine izin verir.
  3. Kullanıcı tanınmayan bir seçenek girdiğinde "Invalid choice. Please try again." yazdırır.
  4. 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