Menu
Coddy logo textTech

전체 통합

Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 23번째.

challenge icon

챌린지

쉬움

이제 연락처 관리 프로그램(Contact Book)을 위한 모든 개별 함수를 만들었으므로, 이들을 하나로 합쳐 전체 프로그램을 완성할 차례입니다!


수행 과제:

  1. 작성한 함수들을 결합하세요:
    • display_menu: 사용자에게 메뉴 옵션을 표시합니다.
    • add_contact: 연락처 관리 프로그램에 새 연락처를 추가합니다.
    • view_contact: 특정 연락처의 상세 정보를 표시합니다.
    • edit_contact: 기존 연락처의 정보를 업데이트합니다.
    • delete_contact: 연락처 관리 프로그램에서 연락처를 삭제합니다.
    • list_all_contacts: 연락처 관리 프로그램의 모든 연락처를 표시합니다.
  2. 연락처를 저장할 contact_book이라는 딕셔너리를 생성합니다.
  3. 다음과 같은 루프를 작성하세요:
    • display_menu를 사용하여 메뉴를 표시합니다.
    • 메뉴 선택을 위한 사용자 입력을 받습니다.
    • 사용자의 선택에 따라 적절한 함수를 호출합니다.
    • 사용자가 유효한 메뉴 옵션이 아닌 값을 입력하면 "Invalid choice. Please try again."을 출력합니다.
    • 사용자가 프로그램 종료 옵션을 선택할 때까지 계속됩니다.

예상 동작:

프로그램을 실행하면 다음과 같이 동작해야 합니다:

  1. 사용자가 선택할 수 있는 메뉴 옵션을 보여줍니다.
  2. 사용자가 적절한 함수를 호출하여 연락처 관리 프로그램과 상호작용할 수 있도록 합니다.
  3. 사용자가 인식되지 않는 옵션을 입력하면 "Invalid choice. Please try again."을 출력합니다.
  4. 사용자가 "Exit" 옵션을 선택하면 프로그램을 깔끔하게 종료합니다.

이 마지막 단계는 여러분이 배운 모든 지식을 결합하여 완전히 작동하는 연락처 관리 애플리케이션을 만드는 과정입니다. 여러분의 노력이 결실을 맺는 과정을 즐겨보세요! 🎉

직접 해보기

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의 모든 레슨