swift模拟骰子的1000次投掷,编程统计并输出骰子的6个面各自出现的概率
时间: 2024-02-16 12:05:26 浏览: 75
好的,以下是 Swift 模拟骰子投掷并统计各面出现概率的方法:
```swift
var diceCounts = [0, 0, 0, 0, 0, 0] // 用于记录每个面出现次数
for _ in 1...1000 {
let diceNumber = Int.random(in: 1...6)
diceCounts[diceNumber - 1] += 1 // 对应面出现次数加1
}
for i in 0..<diceCounts.count {
let probability = Double(diceCounts[i]) / 1000.0 // 计算各面出现概率
print("骰子面数为\(i+1)的概率为:\(probability)")
}
```
以上代码先定义了一个长度为6的整型数组 `diceCounts`,用于记录每个骰子面出现的次数。
然后使用循环模拟投掷1000次骰子,每次使用 `Int.random(in: 1...6)` 方法生成一个1到6的随机数,表示骰子的面数,将对应面出现次数加1。
最后使用循环遍历 `diceCounts` 数组,计算每个面出现的概率,将出现次数除以总次数1000即可。
根据模拟结果,输出各面出现概率,可能有所不同,但应该都比较接近:
```
骰子面数为1的概率为:0.172
骰子面数为2的概率为:0.171
骰子面数为3的概率为:0.166
骰子面数为4的概率为:0.156
骰子面数为5的概率为:0.167
骰子面数为6的概率为:0.168
```
可以看到,每个面的出现概率都比较接近,且总概率之和为1。
阅读全文