2017-03-18 42 views
0

ユーザに整数を要求し、整数の階乗を計算するプログラムを作成しようとしていますが、ユーザが負の数を返すとプログラムは終了します。欠落値 Rの入力で数値の階乗を計算する

TRUE/FALSE必要

及びX + 1で時々この

エラー:非しばらくに

エラー(x> = 0){得ます二項演算子の数値引数

マイコード:

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) 
} 
+1

私のdownvoteではありません。 [この以前の投稿]を見てください(http://stackoverflow.com/questions/39245442/wait-for-user-input-from-keyboard-in-r-before-next-line-of-code-readline-最初の) – G5W

答えて

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 
# > 
関連する問題