循环简介
学习在 Ruby 中使用循环进行固定次数的迭代。
重复
在编程中,重复执行一条指令或一组指令是一种常见现象,称为循环。例如,假设我们希望程序完成以下任务:
- 逐行读取文档或数据文件,直到文件末尾。
- 使用颜色值逐像素绘制图像,以在屏幕上显示图像。
- 依次遍历变量集合中的每个元素来处理其值。
- 通过将公式应用于多个值来计算结果。
for 循环
假设我们要显示从 到 的整数。我们可以简单地使用 print() 语句逐个输出这些数字。我们也可以使用一个变量,通过不断改变其值来重复打印该变量的值,如下所示:
1# 使用变量 a 的多条 print 语句 2a = 0 3print(a, "\n") 4a = 1 5print(a, "\n") 6a = 2 7print(a, "\n") 8a = 3 9print(a, "\n") 10a = 4 11print(a, "\n")
上述代码清楚地展示了 print(a) 的重复使用。使用单个变量的好处是,我们可以将这种重复转换为 for 循环。在 Ruby 中,我们使用 for 循环来对固定次数的迭代执行某个操作。让我们通过以下程序演示这一点:
1# 使用 for 循环实现重复的 print 语句 2for a in [0, 1, 2, 3, 4] 3 print(a, "\n") 4end
for 循环使第 1 行和第 2 行的内容重复执行五次。因此,我们可以说这个循环有五次迭代。
在上面的代码中:
- 我们使用
a作为变量,它从in操作符提供的值中依次获取数值。 in操作符在每次迭代中从[0, 1, 2, 3, 4]中逐一取出一个值。- 循环体位于
for语句指定值之后。 - 循环体中只包含一条语句
print(a),由缩进表示。
让我们举一个生成前五个非负偶数的例子——0、2、4、6 和 8。
1for a in [0, 1, 2, 3, 4] # 访问每个值 2 e = a * 2 # 将值乘以 2 3 print(e, "\n") 4end
end 语句位于第 2 行和第 3 行之后,表明这两行是循环体的一部分。
简单循环练习
以下是几个用于练习在 Ruby 中编写 for 循环的示例程序。“显示答案”按钮将提供一种可能的解决方案。你可以将给出的解决方案复制粘贴到代码编辑器中运行,以验证你的输出是否与参考答案一致。编程中可能存在多种正确的写法。
奇数
编写一个程序,显示前五个奇数:、、、 和 。
1# 请在此处编写你的代码
你可以在上方的代码编辑器中运行以下代码:
1for i in [1, 2, 3, 4, 5] 2 print((i * 2 - 1), "\n") 3end
等差数列
等差数列是一组按顺序排列的数,其中每两个相邻项之间的差值相同。
编写一个程序,显示等差数列 、、、 和 的前五项。
1# 请在此处编写你的代码
你可以在上方的代码编辑器中运行以下代码:
1for i in [0, 1, 2, 3, 4] 2 print((i * 5), "\n") 3end
调和数列
调和数列是一组按顺序排列的数,其中每两个相邻项的倒数之差相同。
编写一个程序,显示调和数列 、、、 和 的前五项。
1# 请在此处编写你的代码
你可以在上方的代码编辑器中运行以下代码:
1for i in [1, 2, 3, 4, 5] 2 print("1/#{i * 2}\n") 3end
等比数列
等比数列是一组按顺序排列的数,其中每两个相邻项之间的比值相同。
编写一个程序,显示等比数列 、、、 和 的前五项。
1# 请在此处编写你的代码
你可以在上方的代码编辑器中运行以下代码:
1for i in [0, 1, 2, 3, 4] 2 print("#{3 ** i}\n") 3end