2017-08-29 17 views
0

推測ゲームを作成するときに適切なブラケットの構文に問題があります。ここに私のコードの簡単な例は、R推測ゲームの構文

number_result <- readline(prompt = "Choose a number btwn 1 & 100: ") 
input <- 0 
rand <- sample(seq(1,100), size = 1) 

input = number_result 


while(input != rand){ 

    if(input < rand){ 
    print("Higher!") 
    } 
    else if(input > rand){ 
    print("Lower!") 
    } 
    else(input = rand){ 
    return(print("You got it!")) 
} 
    } 

である私のエラーは、次のとおりです。

Error: unexpected '{' in: 
" } 
    else(input = rand){" 
>  return(print("You got it!")) 
[1] "You got it!" 
Error: no function to return from, jumping to top level 
> } 
Error: unexpected '}' in "}" 
>  } 
Error: unexpected '}' in " }" 
> 
+1

3番目の 'else'ステートメントに条件があることを意味していますか?もしそうなら、 'else if'を使用し、そうでなければ' else {'を使用し、'(input = rand) '部分を含める必要はありません。さらに、__'R'__は、論理均等チェックのために '=='を使用します。あなたが入力したように '='は等しくありません。 'return'ラッパーを使わないで' print( 'You got it!') 'と打ってください。 – bouncyball

+0

ありがとう、私は論理的な等号" == "が最大のものだと思います - 私はまだreturn()ラッパーを使用していますwhileループを終了します。ユーザーが適切に数字を推測できるようになるまで返る関数を作成すると思います。 – SamGROW

答えて

-2

あなたが関数を定義していないので、必要に応じノーリターン。停止条件も指定する必要があります。さもなければあなたは永遠に走ります。 これを試してください

 number_result <- readline(prompt = "Choose a number btwn 1 & 100: ") 
     input <- 0 
     rand <- sample(seq(1,100), size = 1) 

     input = number_result 
while(input != rand){ 
    if(input < rand){ 
    print("Higher!") 
    } else if(input > rand){ 
    print("Lower!") 
    } else { 
    print("You got it!") 
    } 
    input <- input + 1 
} 
+0

あなたが逃したより深刻な根本的な問題があります – bouncyball

+0

はい、あなたは正しいです!ちょうど編集されました;) –

+0

OPはまた 'while'ループを望みます – bouncyball