Menu
CoddyTech

Dodawanie i usuwanie

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

Aby dodać element, przypisz do jego klucza wartość true. Dodanie elementu, który już znajduje się w zbiorze, niczego nie zmienia, więc jeśli chcesz wiedzieć, czy jest nowy, najpierw sprawdź to za pomocą has():

var inventory := {"rope": true}
if inventory.has("torch"):
	print("Already have torch")
else:
	inventory["torch"] = true
	print("Added torch")

Aby usunąć element, wywołaj erase(). Zwraca true, gdy element został usunięty, i false, gdy nie ma go w zbiorze. Brakujący element nigdy nie jest błędem:

print(inventory.erase("rope")) # true
print(inventory.erase("map")) # false
print(inventory) # { "torch": true }

Ponieważ erase() zwraca wartość logiczną, możesz użyć jej bezpośrednio jako warunku: if inventory.erase("map"): wykonuje swój blok tylko wtedy, gdy "map" było elementem.

clear() usuwa każdy element, size() je zlicza, a is_empty() ma wartość true dla zbioru bez elementów.

challenge icon

Wyzwanie

Łatwy

Program odczytuje polecenia, po jednym w każdym wierszu, aż do wiersza done. Każde polecenie ma postać add ITEM lub remove ITEM. Kod początkowy już dzieli każde polecenie na action i item.

  • Dla add: jeśli element jest nowy, dodaj go do zbioru inventory i wypisz Added ITEM. W przeciwnym razie wypisz Already have ITEM.
  • Dla remove: jeśli element znajduje się w zbiorze, usuń go i wypisz Removed ITEM. W przeciwnym razie wypisz No ITEM to remove.

Po done wypisz Inventory: , a następnie elementy połączone za pomocą , albo Inventory: empty, jeśli zbiór jest pusty. Dla danych wejściowych:

add torch
add rope
add torch
remove map
remove rope
done

wynik to:

Added torch
Added rope
Already have torch
No map to remove
Removed rope
Inventory: torch

Spróbuj swoich sił

extends Node

func _ready():
	var inventory := {}
	while true:
		var command := OS.read_string_from_stdin()
		if command == "done":
			break
		var parts := command.split(" ")
		var action := parts[0]
		var item := parts[1]
		# Dodaj lub usuń przedmiot

	# Wyświetl zawartość ekwipunku
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator GDScript online