Menu
CoddyTech

Edycja kontaktu

Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 27 z 78.

challenge icon

Wyzwanie

Łatwy

Obsłuż wybór 3, czyli edytowanie kontaktu. Zachowaj wszystko, co napisałeś w poprzednich krokach.

Napisz edit_contact(contact_book: Dictionary). Funkcja odczytuje imię.

  • Jeśli imienia nie ma w contact_book, wypisz Contact not found! i nie odczytuj niczego więcej.
  • W przeciwnym razie odczytaj trzy wiersze: nowy numer telefonu, nowy adres e-mail i nowy adres, w tej kolejności. Pusty wiersz oznacza „keep the current value”. Zaktualizuj pola, które nie są puste, a następnie wypisz Contact updated successfully!

Na przykład, jeśli Alice jest w książce, a dane wejściowe po wyborze 3 wyglądają tak:

Alice
987-654-3210

456 Elm St

Alice otrzymuje numer telefonu 987-654-3210 i adres 456 Elm St, a jej adres e-mail pozostaje bez zmian.

W pętli dodaj gałąź elif dla "3", która wywołuje edit_contact(contact_book).

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator GDScript online