Logo
Section 1 / 6

循环简介

学习在 Ruby 中使用循环进行固定次数的迭代。

导入

循环简介

学习在 Ruby 中使用循环进行固定次数的迭代。

重复

在编程中,重复执行一条指令或一组指令是一种常见现象,称为循环。例如,假设我们希望程序完成以下任务:

  • 逐行读取文档或数据文件,直到文件末尾。
  • 使用颜色值逐像素绘制图像,以在屏幕上显示图像。
  • 依次遍历变量集合中的每个元素来处理其值。
  • 通过将公式应用于多个值来计算结果。

for 循环

假设我们要显示从 00 到 44 的整数。我们可以简单地使用 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 循环的示例程序。“显示答案”按钮将提供一种可能的解决方案。你可以将给出的解决方案复制粘贴到代码编辑器中运行,以验证你的输出是否与参考答案一致。编程中可能存在多种正确的写法。

奇数

编写一个程序,显示前五个奇数:11、33、55、77 和 99。

1# 请在此处编写你的代码

你可以在上方的代码编辑器中运行以下代码:

1for i in [1, 2, 3, 4, 5] 2 print((i * 2 - 1), "\n") 3end

等差数列

等差数列是一组按顺序排列的数,其中每两个相邻项之间的差值相同。

编写一个程序,显示等差数列 00、55、1010、1515 和 2020 的前五项。

1# 请在此处编写你的代码

你可以在上方的代码编辑器中运行以下代码:

1for i in [0, 1, 2, 3, 4] 2 print((i * 5), "\n") 3end

调和数列

调和数列是一组按顺序排列的数,其中每两个相邻项的倒数之差相同。

编写一个程序,显示调和数列 1/21/2、1/41/4、1/61/6、1/81/8 和 1/101/10 的前五项。

1# 请在此处编写你的代码

你可以在上方的代码编辑器中运行以下代码:

1for i in [1, 2, 3, 4, 5] 2 print("1/#{i * 2}\n") 3end

等比数列

等比数列是一组按顺序排列的数,其中每两个相邻项之间的比值相同。

编写一个程序,显示等比数列 11、33、99、2727 和 8181 的前五项。

1# 请在此处编写你的代码

你可以在上方的代码编辑器中运行以下代码:

1for i in [0, 1, 2, 3, 4] 2 print("#{3 ** i}\n") 3end

Ruby 基础

循环与范围