Menu
CoddyTech

Изменить контакт

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 27 из 78.

challenge icon

Задание

Легко

Обработай вариант 3 — редактирование контакта. Сохрани всё, что ты написал на предыдущих шагах.

Напиши edit_contact(contact_book: Dictionary). Функция считывает имя.

  • Если имени нет в contact_book, выведи Contact not found! и больше ничего не считывай.
  • Иначе считай три строки: новый номер телефона, новый адрес электронной почты и новый адрес — именно в этом порядке. Пустая строка означает «оставить текущее значение». Обнови непустые поля, затем выведи Contact updated successfully!

Например, если Alice есть в книге, а после выбора 3 введено:

Alice
987-654-3210

456 Elm St

Телефон Alice изменится на 987-654-3210, адрес — на 456 Elm St, а адрес электронной почты останется прежним.

В цикле добавь ветвь elif для "3", которая вызывает edit_contact(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 == "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!")

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript