모두 함께하기
Coddy Python 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 23번째.
챌린지
쉬움이제 주소록의 개별 함수를 모두 만들었으니, 함수를 하나로 모아 완성된 프로그램을 만들 차례입니다!
과제:
- 만든 함수들을 하나로 합치세요:
display_menu: 사용자에게 메뉴 옵션을 표시합니다.add_contact: 주소록에 새 연락처를 추가합니다.view_contact: 특정 연락처의 세부 정보를 표시합니다.edit_contact: 기존 연락처 정보를 업데이트합니다.delete_contact: 주소록에서 연락처를 삭제합니다.list_all_contacts: 주소록의 모든 연락처를 표시합니다.
- 연락처를 저장할
contact_book이라는 딕셔너리를 만드세요. - 다음 작업을 수행하는 루프를 작성하세요:
display_menu를 사용해 메뉴를 표시합니다.- 메뉴 선택에 대한 사용자 입력을 받습니다.
- 사용자의 선택에 따라 적절한 함수를 호출합니다.
- 사용자가 유효한 메뉴 옵션에 없는 선택을 입력하면
Invalid choice. Please try again.을 출력합니다. - 사용자가 프로그램 종료 옵션을 선택할 때까지 계속합니다.
예상 동작:
프로그램을 실행하면 다음과 같이 동작해야 합니다:
- 사용자가 선택할 수 있는 옵션 메뉴를 표시합니다.
- 적절한 함수를 호출하여 사용자가 주소록과 상호작용할 수 있게 합니다.
- 사용자가 알 수 없는 옵션을 입력하면 Invalid choice. Please try again.을 출력합니다.
- 사용자가 "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 컴파일러