对于R中的循环打印两次

时间:2012-04-17 20:35:43

标签: r for-loop

我对编程很新,并且热衷于学习R.我试图在R中解决经典的“Fizzbuzz”问题并且几乎找到了一种方法,但是我的循环打印了两次。尝试调试和搜索,但我似乎找不到任何东西。有什么建议吗?

tl; dr你知道为什么这个for循环打印两次吗?

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 个答案:

答案 0 :(得分:2)

因为你两次调用print,一次在函数中,一次在循环中。删除循环中的print,它只打印一次。

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

答案 1 :(得分:1)

您正在打印fizzbuzz的结果并在函数内部。试试这个:

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