返回介绍

遍历

发布于 2024-01-08 20:55:54 字数 5756 浏览 0 评论 0 收藏 0

我们现在有了背包,如果要每行显示一个背包物品,我们可以:

var 背包 = ["水瓶", "钥匙", "金币"]
print("背包中有:")
print(背包[0]) # 显示:水瓶
print(背包[1]) # 显示:钥匙
print(背包[2]) # 显示:金币

很明显这样做只能显示背包的前三个物品,假设背包很大就不能这样写了。

此时结合之前的 while 语句和 len() 获取数组长度,可以改成下面这样:

var 背包 = ["水瓶", "钥匙", "金币"]
print("背包中有:")
var 下标 = 0
while 下标 < len(背包):
    print(背包[下标])
    下标 += 1

我们声明了一个变量下标,并在循环中通过这个下标从背包中取物品,同时给下标加一,这样就可以访问背包中的每个东西,直到 下标 < len(背包)false,也就是下标达到背包大小时停止。

[!tip]

注意不要写成 下标 <= len(背包),这里不能等于,因为背包的长度是 3,而 背包[3] 是在获取第四个值,程序会出错。

for

上面这种把数组中每个元素都访问一次的行为被称为遍历,这种操作非常常见,于是有了一种专门为遍历而生的语法:

for <元素变量名> in <遍历目标>:
    <代码块>

这个东西本质上还是个循环,循环次数就是遍历目标的长度,每一轮循环中,都将从遍历目标里取出一个元素放到元素变量中。

把之前的 while 换成 for,运行结果不变,代码如下:

var 背包 = ["水瓶", "钥匙", "金币"]
print("背包中有:")
for 物品 in 背包:
    print(物品)

range

有时候我们想直接指定循环次数,例如显示 50 个 hello,这样直接用一个变量和 while 也可以搞定,但我们可以结合 range 方法和 for 来实现同样的效果:

for 当前次数 in range(50):
    print("Hello")

range 这个方法会根据括号里的数字产生一个数组,里面分别是 1、2、3、4...直到括号里的数字,但不包括那个数。

不过 GDScript 还给咱们提供了一种简写方式,直接把 range(123) 写成 123 即可,例如和上面的 range(50) 效果相同的 for 可以写成 for 当前次数 in 50:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文