for 循环
本课属于 Coddy GDScript 学习旅程的“基础知识”单元。第 43 课,共 92 课。
循环会多次运行同一段代码。你不必把同一个 print() 写 5 次,只需在循环中写一次。
for 循环会针对 range 中的每个数字运行一次循环体。range(start, end) 会给出从 start 到 end 的数字,不包括 end:
for i in range(0, 5):
print(i)0
1
2
3
4每次运行这个代码块都算一次迭代。每次迭代时,循环变量 i 都会保存范围内的下一个数字。for 行以冒号结尾,重复执行的行要缩进一级。
当范围从 0 开始时,可以省略起始值:range(5) 和 range(0, 5) 生成的数字相同。
在代码块中,i 的作用和其他变量一样:
for i in range(1, 4):
print("Item number: ", i)Item number: 1
Item number: 2
Item number: 3循环也可以逐步累加出一个结果。这个程序会把 1 到 100 的所有数字相加,并打印 5050:
var total := 0
for i in range(1, 101):
total += i
print(total)最后一个 print() 没有缩进到 for 行下方,因此它会在循环结束后运行一次。
挑战
简单读取一个整数 n(起始代码已经完成这一步)。使用 for 循环,为从 3 到 n(包含两端)的每个数字打印 "Hello Coddy: " 和 i 的值。
例如,如果 n 是 6,输出为:
Hello Coddy: 3
Hello Coddy: 4
Hello Coddy: 5
Hello Coddy: 6如果 n 是 27,循环会打印 25 行,从 Hello Coddy: 3 到 Hello Coddy: 27。
亲手试试
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
# 在这里写你的 for 循环
pass
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: GDScript 在线编译器