如何在R中使用`repeat`循环

时间:2017-11-05 18:35:33

标签: r loops

我正在做一个与我正在处理的问题相关的重复循环: “将我设为1.写一个repeat()循环,使我加倍,直到我大于100.我现在有什么价值?”

到目前为止,这是我的代码

i <- 1

repeat{
  print(i)
  i <-  i*2
  if(i > 100) break
}

我运行了上面的代码,得到了以下输出

[1] 1
[1] 2
[1] 4
[1] 8
[1] 16
[1] 32
[1] 64

现在我只是想知道上面的代码和输出是否正确? 如果没有,任何人都可以帮助我解决这个问题,我做错了什么?

2 个答案:

答案 0 :(得分:1)

你当然拥有问题所需的大部分内容。这是一个想法:什么是&#34;我现在有什么价值?&#34;这意味着在休息之前吗?或者重复退出后是否意味着什么?如果是在退出之后,则在重复结束后需要另一个print语句。如果他们想知道休息前的值,那么在条件测试后你需要一个print语句。

答案 1 :(得分:1)

除了Harlan的评论之外,问题陈述“[a]循环使我加倍直到我大于100”不明确。这可能意味着两件事:

  1. 加倍数字。如果大于100,请退出。
  2. 如果数字大于100,退出;否则加倍。
  3. 这两种解释在这种特殊情况下不会给出不同的最终值 ,但会产生不同的代码(如果循环内的代码更复杂,结果可能会有所不同)。您正在实施第一个变体。