Menu
CoddyTech

Kết hợp mọi thứ

Thuộc phần Logic và luồng chương trình trong hành trình Python của Coddy. Bài học 23 trên 78.

challenge icon

Thử thách

Dễ

Bây giờ bạn đã xây dựng xong từng hàm riêng cho sổ liên lạc, đã đến lúc kết hợp chúng để tạo thành chương trình hoàn chỉnh!


Nhiệm vụ của bạn:

  1. Kết hợp các hàm bạn đã tạo:
    • display_menu: Hiển thị các tùy chọn trong menu cho người dùng.
    • add_contact: Thêm liên hệ mới vào sổ liên lạc.
    • view_contact: Hiển thị thông tin chi tiết của một liên hệ cụ thể.
    • edit_contact: Cập nhật thông tin của một liên hệ hiện có.
    • delete_contact: Xóa một liên hệ khỏi sổ liên lạc.
    • list_all_contacts: Hiển thị tất cả liên hệ trong sổ liên lạc.
  2. Tạo một từ điển có tên contact_book để lưu các liên hệ.
  3. Viết một vòng lặp để:
    • Hiển thị menu bằng display_menu.
    • Nhận lựa chọn trong menu từ người dùng.
    • Gọi hàm thích hợp dựa trên lựa chọn của người dùng.
    • In ra Invalid choice. Please try again. nếu người dùng nhập lựa chọn không hợp lệ.
    • Tiếp tục cho đến khi người dùng chọn thoát khỏi chương trình.

Hành vi mong đợi:

Khi chạy chương trình, chương trình sẽ:

  1. Hiển thị một menu các tùy chọn để người dùng lựa chọn.
  2. Cho phép người dùng tương tác với sổ liên lạc bằng cách gọi hàm thích hợp.
  3. In ra Invalid choice. Please try again. khi người dùng nhập một tùy chọn không được nhận diện.
  4. Thoát chương trình gọn gàng khi người dùng chọn tùy chọn "Exit".

Bước cuối cùng này kết hợp tất cả kiến thức bạn đã học để tạo thành một ứng dụng sổ liên lạc hoạt động hoàn chỉnh. Hãy tận hưởng thành quả khi thấy mọi công sức của bạn kết hợp lại! 🎉

Tự làm thử

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

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Python online