Menu
CoddyTech

Lặp qua các chỉ số

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 70 trên 92.

Vòng lặp qua các phần tử cho bạn từng giá trị, nhưng không cho biết vị trí của chúng. Khi cần cả chỉ số, hãy lặp qua các chỉ số bằng range() và đọc từng phần tử bằng dấu ngoặc vuông:

var fruits := ["apple", "banana", "orange"]
for i in range(fruits.size()):
	print("Index %d: %s" % [i, fruits[i]])
Index 0: apple
Index 1: banana
Index 2: orange

range(fruits.size()) cho các giá trị 0, 1 và 2: chính là các chỉ số của mảng. Ở mỗi lần lặp, i là chỉ số và fruits[i] là phần tử.

Chỉ số cũng cho phép bạn thay đổi mảng bên trong vòng lặp. Gán giá trị cho biến vòng lặp trong for price in prices: chỉ thay đổi biến đó, còn gán giá trị cho prices[i] sẽ thay đổi mảng:

var prices := [2, 5]
for i in range(prices.size()):
	prices[i] *= 2
print(prices)
[4, 10]
challenge icon

Thử thách

Dễ

Chương trình đọc một dòng gồm các số nguyên được phân tách bằng dấu phẩy vào mảng numbers (đã viết sẵn).

In ra một mảng gồm các chỉ số của những số nhỏ hơn 50 hoặc chia hết cho 5. Với đầu vào 80,4,99,36,34:

  • 80 (chỉ số 0) chia hết cho 5: được đưa vào
  • 4 (chỉ số 1) nhỏ hơn 50: được đưa vào
  • 99 (chỉ số 2): không được đưa vào
  • 36 (chỉ số 3) và 34 (chỉ số 4) nhỏ hơn 50: được đưa vào

Đầu ra là:

[0, 1, 3, 4]

Tự làm thử

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var numbers: Array[int] = []
	for part in parts:
		numbers.append(int(part))
	# Viết code của bạn bên dưới
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