仍处于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语句的错误条件(输入“ 0”)有效,但任何时候初始输入不是0时,在while语句之后的任何行我都会收到调试错误。一直在扭动我的大脑并在这里挖掘,但无法弄清楚。任何帮助表示赞赏。
答案 0 :(得分:0)
您的while循环基于enterednum != 0
时的条件。但是,在while循环中,您不会更新enterednum
-这意味着它是一个无限循环,并且永远不会停止。如果您将停止条件更改为newnum != 0
或在循环内更新enterednum
,那就太好了。
希望以上帮助。
答案 1 :(得分:0)
找出问题所在。感谢S. Zhong和GordonShumway的提示!更正了下面的工作代码。
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,"."))