Menu
Coddy logo textTech

全体をまとめる

CoddyのPythonジャーニー「Logic & Flow」セクションの一部 — レッスン 23/78。

challenge icon

チャレンジ

簡単

連絡先帳のすべての個別機能を構築しました。いよいよ、これらを組み合わせて完全なプログラムを作成する時です!


あなたのタスク:

  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のすべてのレッスン