Menu
CoddyTech

Satukan Semuanya

Termasuk bagian Logika dan Alur dalam perjalanan Python di Coddy. Pelajaran 23 dari 78.

challenge icon

Tantangan

Mudah

Setelah membuat semua fungsi untuk Contact Book satu per satu, sekarang saatnya menggabungkannya untuk membuat program lengkap!


Tugasmu:

  1. Gabungkan fungsi-fungsi yang sudah kamu buat:
    • display_menu: Menampilkan pilihan menu untuk pengguna.
    • add_contact: Menambahkan kontak baru ke Contact Book.
    • view_contact: Menampilkan detail kontak tertentu.
    • edit_contact: Memperbarui informasi kontak yang sudah ada.
    • delete_contact: Menghapus kontak dari Contact Book.
    • list_all_contacts: Menampilkan semua kontak di Contact Book.
  2. Buat dictionary bernama contact_book untuk menyimpan kontak.
  3. Tulis perulangan yang:
    • Menampilkan menu menggunakan display_menu.
    • Menerima input pengguna untuk pilihan menu.
    • Memanggil fungsi yang sesuai berdasarkan pilihan pengguna.
    • Mencetak Invalid choice. Please try again. jika pengguna memasukkan pilihan yang bukan salah satu opsi menu yang valid.
    • Berlanjut sampai pengguna memilih opsi untuk keluar dari program.

Perilaku yang Diharapkan:

Saat kamu menjalankan program, program akan:

  1. Menampilkan pilihan menu untuk dipilih pengguna.
  2. Memungkinkan pengguna berinteraksi dengan Contact Book dengan memanggil fungsi yang sesuai.
  3. Mencetak Invalid choice. Please try again. saat pengguna memasukkan opsi yang tidak dikenali.
  4. Keluar dari program dengan baik saat pengguna memilih opsi "Exit".

Langkah terakhir ini menggabungkan semua pengetahuan yang sudah kamu dapatkan menjadi aplikasi Contact Book yang berfungsi sepenuhnya. Nikmati hasil kerja kerasmu! 🎉

Coba sendiri

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

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Python online