Menu
Coddy logo textTech

הכול ביחד

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Python של Coddy. שיעור 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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Python אונליין