【发布时间】:2014-04-16 00:41:49
【问题描述】:
当我的 while 循环随机工作时,我感到很困惑?
how.many<-function(fruit, number){
string<-paste("How many",fruit,"?",sep=" ")
fruit_number<-readline(string)
print("fruit number")
print(fruit_number)
print("number")
print(number)
while(fruit_number > number){
print("inside while")
print("fruit number")
print(fruit_number)
print("number")
print(number)
print("ERROR: too many for the budget")
string<-paste("How many",fruit,"?",sep=" ")
fruit_number<-readline(string)
}
return(as.numeric(fruit_number))
}
这是我调用此函数的时间:
> source("fruit.R")
> how.many("apple",6)
How many apple ?3
[1] "fruit number"
[1] "3"
[1] "number"
[1] 6
[1] 3
> how.many("apple",10)
How many apple ?9
[1] "fruit number"
[1] "9"
[1] "number"
[1] 10
[1] "inside while"
[1] "fruit number"
[1] "9"
[1] "number"
[1] 10
[1] "ERROR: too many for the budget"
How many apple ?7
[1] "inside while"
[1] "fruit number"
[1] "7"
[1] "number"
[1] 10
[1] "ERROR: too many for the budget"
How many apple ?2
[1] "inside while"
[1] "fruit number"
[1] "2"
[1] "number"
[1] 10
[1] "ERROR: too many for the budget"
How many apple ?1
[1] 1
有什么提示吗?
【问题讨论】:
-
fruit_number是一个字符,您尝试将其用作数字。这会导致问题。
标签: r function while-loop