Menu
CoddyTech

Editar contacto

Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 27 de 78.

challenge icon

Desafío

Fácil

Gestiona la opción 3, que permite editar un contacto. Conserva todo lo que escribiste en los pasos anteriores.

Escribe edit_contact(contact_book: Dictionary). Lee un nombre.

  • Si el nombre no está en contact_book, imprime Contact not found! y no leas nada más.
  • De lo contrario, lee tres líneas: el nuevo teléfono, el nuevo correo electrónico y la nueva dirección, en ese orden. Una línea vacía significa "keep the current value". Actualiza los campos que no estén vacíos y después imprime Contact updated successfully!

Por ejemplo, si Alice está en el libro y la entrada después de la opción 3 es:

Alice
987-654-3210

456 Elm St

Alice obtiene el teléfono 987-654-3210 y la dirección 456 Elm St, y conserva su correo electrónico.

En el bucle, añade una rama elif para "3" que llame a edit_contact(contact_book).

Pruébalo tú mismo

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!")

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de GDScript online