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: 2Khi 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) # 10Từ đ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 }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: 1Tự 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
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
4Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyênToán tử moduloPhép tính số học rút gọnÔn tập, phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Đầu raĐầu ra với biếnĐịnh dạng chuỗiĐầu vàoÉp kiểuÔn tập đến 120Ôn tập đúng hay sai10Hàm
Khai báo hàmĐối sốTrả vềKiểu trả vềÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệGiá trị mặc định16Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trình5Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử ba ngôi8Máy tính chia hóa đơn
Lời chàoNhận đầu vào3Biến, phần 2
Khai báo kiểu dữ liệuSuy luận kiểu dữ liệuHằng sốÔn tập: khởi tạo biếnChuyển đổi kiểu dữ liệu9Vòng lặp
Vòng lặp forVòng lặp whileBreakContinueÔn tập: giai thừaHàm rangeVòng lặp lồng nhauÔn tập: đầu vào động12Mảng cơ bản
Khai báo mảngTruy cập phần tử trong mảngThay đổi mảngPhương thức mảngÔn tập: mảng tíchÔn tập: mảng đảo ngượcMảng định kiểu15Từ điển
Tạo từ điểnTruy cập giá trịSửa đổi từ điểnPhương thức từ điểnLặp qua từ điểnÔn tập: từ điển kho hàngTự luyện tập: Trình biên dịch GDScript online