基本R问题-while循环中的可更新输入



仍处于R的学习阶段。试图设置一段基本代码,允许用户输入数字,直到他们输入"0",此时程序将对条目求和并显示给用户。这就是我目前所拥有的:

print ("Enter a number.enter 0 when finished")
enterednum <-as.integer(readLines(con=stdin(),1))
finalnum = 0
while (enterednum != 0){
print ("Enter another number. enter 0 when finished");
newnum <-as.integer(readLines(con=stdin(),1));
finalnum <- (enterednum + newnum)
}
print(paste("The sum of your numbers is", finalnum,"."))

练习的重点是使用while语句。虽然While语句的false条件(输入"0"(有效,但只要初始输入不是0,我就会收到While语句后任何行的调试错误。我一直在绞尽脑汁,在这里挖来挖去,但没能弄清楚。感谢您的帮助。

while循环基于enterednum != 0时的条件。然而,在while循环中,您不会更新enterednum——这意味着它是一个无限循环,永远不会停止。如果您将停止条件更改为newnum != 0或在循环内更新enterednum,那就太好了。

希望以上能有所帮助。

解决了这个问题。感谢钟和戈登的建议!已更正,工作代码如下。

print ("Enter a number.enter 0 when finished")
enterednum <-as.integer(readLines(con=stdin(),1))
finalnum <- 0
while (enterednum != 0){
finalnum = (finalnum + enterednum)
print ("Enter another number. enter 0 when finished");
enterednum <-as.integer(readLines(con=stdin(),1));
}
print(paste("The sum of your numbers is", finalnum,"."))

最新更新