모두 목록 보기
Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 29번째.
챌린지
쉬움5번 선택을 처리하여 모든 연락처를 나열하세요. 이전 단계에서 작성한 내용은 모두 그대로 유지하세요.
list_all_contacts(contact_book: Dictionary)를 작성하세요. 이 함수는 입력을 읽지 않습니다. contact_book이 비어 있으면 다음을 출력합니다.
No contacts available.그렇지 않으면 연락처를 추가된 순서대로 모두 출력합니다. view_contact()와 같은 4줄 형식으로 출력한 뒤 빈 줄을 출력하세요. 연락처 목록에 Alice와 Bob이 있을 때의 출력은 다음과 같습니다.
Name: Alice
Phone: 123-456-7890
Email: alice@example.com
Address: 123 Main St
Name: Bob
Phone: 234-567-8901
Email: bob@example.com
Address: 456 Oak Ave반복문에 "5"에 대한 elif 분기를 추가하고, 이 분기에서 list_all_contacts(contact_book)를 호출하세요.
직접 해보기
extends Node
func _ready():
var contact_book := {}
while true:
display_menu()
var choice := OS.read_string_from_stdin()
if choice == "1":
add_contact(contact_book)
elif choice == "2":
view_contact(contact_book)
elif choice == "3":
edit_contact(contact_book)
elif choice == "4":
delete_contact(contact_book)
elif choice == "6":
break
func display_menu() -> void:
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")
func add_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
print("Contact already exists!")
return
var phone := OS.read_string_from_stdin()
var email := OS.read_string_from_stdin()
var address := OS.read_string_from_stdin()
contact_book[contact_name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
func view_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
var contact: Dictionary = contact_book[contact_name]
print("Name: ", contact_name)
print("Phone: ", contact["phone"])
print("Email: ", contact["email"])
print("Address: ", contact["address"])
else:
print("Contact not found!")
func edit_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
var contact: Dictionary = contact_book[contact_name]
var phone := OS.read_string_from_stdin()
var email := OS.read_string_from_stdin()
var address := OS.read_string_from_stdin()
if phone != "":
contact["phone"] = phone
if email != "":
contact["email"] = email
if address != "":
contact["address"] = address
print("Contact updated successfully!")
else:
print("Contact not found!")
func delete_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
contact_book.erase(contact_name)
print("Contact deleted successfully!")
else:
print("Contact not found!")
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러