【发布时间】:2015-06-18 07:24:15
【问题描述】:
我正在尝试计算掷骰子的次数,直到达到确定的停止值。例如,我希望停止值为 100。我正在编写以下代码:
sumofsides <- function(stopvalue) {
totalsum <- 0
while (totalsum < stopvalue) {
face <- sample(6, 1, replace= TRUE)
totalsum <- totalsum + face
}
return(total value)
}
sumofsides(100)
[1] 103
当我编写以下代码以获取滚动次数直到达到停止值时。但它总是给出 1 的值,这是错误的。
numofrolls <- function(stopvalue) {
totalsum <- 0
while (totalsum < stopvalue) {
face <- sample(6, 1, replace= TRUE)
totalsum <- totalsum + face
}
return(length(face))
}
numofrolls(100)
[1] 1
感谢任何帮助。
【问题讨论】:
-
另外,您在调用
sample时不需要replace = TRUE参数。您正在为循环的每次迭代执行对sample的全新调用。
标签: r while-loop dice