2012-04-17 16 views
1

私はかなりプログラミングに新しく、Rを学びたいと熱心に努めています。私はRの古典的な "Fizzbuzz"問題を解決しようとしています。 2回印刷する。デバッグと検索を試みましたが、何かを見つけることができません。助言がありますか?forループin Rが2回印刷されています

tl; drなぜthis forループが2回印刷されるのか知っていますか?

fizzbuzz = function(n){ 
    if (n %% 15 == 0) { 
    print("Fizzbuzz") 
    } else 
    if (n %% 5 == 0) { 
    print("buzz") 
    } else 
    if (n %% 3 == 0) { 
    print("Fizz") 
    } else { 
    print(n) 
    } 
} 

for (a in 1:100) 
    print(fizzbuzz(a)) 

答えて

2

printを2回、関数内に1回、ループ内に1回呼び出します。ループ内のprintを削除すると、1回だけ印刷されます。

for (a in 1:100) 
    fizzbuzz(a) 
+0

ありがとうございます。私が確信しているように、それはほとんどの場合です。解決策は簡単です、私はばかです。 – bstockton

+3

@bstockton:ようこそ。心配しないでください、私たちはすべて馬鹿です...ちょうど異なる科目にあります。 ;) –

1

fizzbuzzの結果とその機能の中に印刷しています。試してみてください:

for (a in 1:100) 
    fizzbuzz(a) 
関連する問題