Menu
CoddyTech

Lặp qua từ điển

Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 81 trên 92.

Vòng lặp for duyệt qua từ điển sẽ cho bạn các khóa theo thứ tự các cặp được thêm vào. Dùng mỗi khóa để đọc giá trị tương ứng:

var stock := {"apples": 3, "pears": 5, "plums": 2}
for fruit in stock:
	print(fruit, ": ", stock[fruit])

Đầu ra là:

apples: 3
pears: 5
plums: 2

Khi chỉ cần các giá trị, hãy lặp qua values(). Vòng lặp này cộng tất cả số lượng trái cây:

var total := 0
for amount in stock.values():
	total += amount
print(total) # 10

Từ điển cũng có thể dùng để đếm. Với mỗi từ, get(word, 0) trả về số lần đếm được cho đến lúc đó, hoặc trả về 0 khi từ đó xuất hiện lần đầu:

var counts := {}
for word in ["gold", "gem", "gold"]:
	counts[word] = counts.get(word, 0) + 1
print(counts) # { "gold": 2, "gem": 1 }
challenge icon

Thử thách

Dễ

Chương trình đọc một dòng đầu vào: các vật phẩm người chơi nhặt được, phân tách bằng dấu phẩy, ví dụ gold,gem,gold.

Đếm số lần mỗi vật phẩm xuất hiện trong từ điển có tên counts. Sau đó, in ra từng vật phẩm và số lần xuất hiện theo định dạng item: count, mỗi dòng một vật phẩm, theo thứ tự xuất hiện lần đầu.

Với đầu vào gold,gem,gold,potion,gold, đầu ra là:

gold: 3
gem: 1
potion: 1

Tự làm thử

extends Node

func _ready():
	var loot := OS.read_string_from_stdin().split(",")
	var counts := {}

	# Đếm số lần xuất hiện của từng mục trong counts

	# In ra từng mục và số lần xuất hiện của mục đó
	pass
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch GDScript online