Menu
CoddyTech

Ôn tập: tính tổng mảng lồng nhau

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 59 trên 78.

challenge icon

Thử thách

Dễ

Viết một hàm đệ quy tên là sum_nested nhận một mảng nested_array. Các phần tử của mảng là số nguyên hoặc các mảng khác, có thể chứa thêm số và mảng ở bất kỳ độ sâu nào.

Hàm trả về tổng của mọi số trong mảng, ở mọi cấp độ.

Để phân biệt hai loại phần tử, hãy dùng is Array: element is Array là true khi element là một mảng.

Ví dụ, sum_nested([1, [2, 3], [4, [5, 6]], 7]) trả về 28. Tổng của một mảng rỗng là 0.

Các bài kiểm tra sẽ tự gọi sum_nested(). Đừng gọi hàm này và đừng in ra bất cứ thứ gì.

Tự làm thử

func sum_nested(nested_array: Array):
	var total := 0
	for element in nested_array:
		if element is Array:
			# Cộng tổng của mảng (array) bên trong này vào total
			pass
		else:
			# Cộng số này vào total
			pass
	return total

Tất cả bài học trong Logic và luồng chương trình

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