我正在做一个与我正在处理的问题相关的重复循环: “将我设为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
现在我只是想知道上面的代码和输出是否正确? 如果没有,任何人都可以帮助我解决这个问题,我做错了什么?
答案 0 :(得分:1)
你当然拥有问题所需的大部分内容。这是一个想法:什么是&#34;我现在有什么价值?&#34;这意味着在休息之前吗?或者重复退出后是否意味着什么?如果是在退出之后,则在重复结束后需要另一个print语句。如果他们想知道休息前的值,那么在条件测试后你需要一个print语句。
答案 1 :(得分:1)
除了Harlan的评论之外,问题陈述“[a]循环使我加倍直到我大于100”也不明确。这可能意味着两件事:
这两种解释在这种特殊情况下不会给出不同的最终值 ,但会产生不同的代码(如果循环内的代码更复杂,结果可能会有所不同)。您正在实施第一个变体。