【问题标题】:Print number of times while loop executes循环执行时打印次数
【发布时间】:2016-07-18 12:57:32
【问题描述】:

在下面的代码中,while 循环将打印 z 的值,直到 z 达到 0 或 11,因为它的值是通过掷硬币来增加或减少的。

如何让这个函数打印硬币被翻转的次数?

z <- 5

while(z >= 1 && z <= 10) {
  print(z)
  coin <- rbinom(1, 1, 0.5)

  if(coin == 1) {
        z <- z +1 
  } else {
    z <- z -1
  }

}

【问题讨论】:

    标签: r while-loop coin-flipping


    【解决方案1】:

    您可以将硬币翻转的次数存储为另一个变量,在下面的代码中称为flips。然后每次执行while循环时,只需增加flips。然后在函数末尾返回flips

    coin_flip <- function(z) {
    
      flips <- 0
    
      while(z >= 1 && z <= 10) {
        print(z)
        coin <- rbinom(1, 1, 0.5)
    
        if(coin == 1) {
          z <- z +1 
        } else {
          z <- z -1
        }
    
        flips <- flips + 1
    
      }
    
      paste("The coin flipped", flips, "times.")
    
    }
    
    set.seed(1234)
    coin_flip(5)
    # [1] 5
    # [1] 4
    # [1] 5
    # [1] 6
    # [1] 7
    # [1] 8
    # [1] 9
    # [1] 8
    # [1] 7
    # [1] 8
    # [1] 9
    # [1] 10
    # [1] "The coin flipped 12 times."
    

    【讨论】:

      猜你喜欢
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多