我正在尝试编写一个程序,要求用户输入一个整数并计算整数的阶乘,如果用户给出一个负数,程序将结束。我得到了
while(x> = 0){:缺少值TRUE / FALSE
时出错
需要,有时候这个
x + 1中的错误:二元运算符的非数字参数
我的代码:
x <-readline(prompt="Enter an integer: ")
x <- as.integer(x)
while(x >= 0)
{
y <- factorial(x)
y
x <-readline(prompt="Enter an integer: ")
x <- as.integer(x)
}
答案 0 :(得分:1)
如果将所有内容都放在函数中,您的代码将会起作用。我改进了代码并创建了一个函数myfun
。
myfun <- function()
{
z <- TRUE
while( z )
{
x <- readline( prompt="Enter an integer: " )
if ( x < 1 ) {
z <- FALSE
} else {
y <- factorial( as.numeric( x ) )
print( y )
}
}
}
myfun()
# Enter an integer: 1
# [1] 1
# Enter an integer: 5
# [1] 120
# Enter an integer: -1
# >