Menu
CoddyTech

Hàm range

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

range() có thể nhận một, hai hoặc ba số:

  • range(end): từ 0 đến trước end
  • range(start, end): từ start đến trước end
  • range(start, end, step): từ start đến trước end, mỗi lần tăng thêm step

Trong cả ba trường hợp, end không bao giờ được tính vào. Bước nhảy là lượng được cộng thêm để có số tiếp theo. Đoạn code này in ra các số lẻ nhỏ hơn 10:

for i in range(1, 10, 2):
	print(i)
1
3
5
7
9

Bước âm đếm ngược. Khi đó, giá trị bắt đầu phải lớn hơn giá trị kết thúc. Vòng lặp này đếm ngược từ 10 đến 1:

for i in range(10, 0, -1):
	print(i)

Giá trị cuối vẫn không được tính, nên vòng lặp dừng ở 1. Với range(20, 9, -2), các số là 20, 18, 16, 14, 12 và 10: 10 được tính vì vẫn lớn hơn 9.

Nếu điểm bắt đầu đã vượt quá điểm kết thúc, như trong range(1, 5, -1), phạm vi sẽ rỗng và vòng lặp không chạy.

GDScript cũng cho phép bạn viết một số duy nhất sau in. for i in 3: hoạt động giống như for i in range(3):, với i chạy từ 0 đến 2.

challenge icon

Thử thách

Dễ

Chương trình đọc ba số nguyên: start, end và step.

Dùng vòng lặp for với range(start, end, step) để in ra từng số trong phạm vi đó, mỗi số trên một dòng.

Với đầu vào 1, 10 và 2, đầu ra là:

1
3
5
7
9

Bước có thể là số âm: với 10, 0 và -3, hãy in ra 10, 7, 4 và 1.

Tự làm thử

extends Node

func _ready():
	var start := int(OS.read_string_from_stdin())
	var end := int(OS.read_string_from_stdin())
	var step := int(OS.read_string_from_stdin())
	# Viết vòng lặp for của bạn ở đây
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