Swift中的编码概率
我想写一个程序,创建100个正方形,规则如下:Swift中的编码概率,swift,probability,Swift,Probability,我想写一个程序,创建100个正方形,规则如下: 最多-但不超过10%的颜色为蓝色 最多-但不超过15%的颜色为红色 最多-但不超过25%的颜色为黄色 其余的都是橙色的 所以基本上每次我运行这个应用程序,我都会得到完全不同的结果。例如,我第一次可能得到: 9布鲁斯 13红色 18黄色 还有60个橙子 下次我可能会: 6布鲁斯 14红色 23黄色 还有57个橙子 等等 我试着用随机数来做这件事,但每次我从每个颜色类别中得到绝对最大值时——我基本上从未上过概率(或统计)课所以我真的不知道我
- 最多-但不超过10%的颜色为蓝色
- 最多-但不超过15%的颜色为红色
- 最多-但不超过25%的颜色为黄色
- 其余的都是橙色的
- 9布鲁斯
- 13红色
- 18黄色
- 还有60个橙子
- 6布鲁斯
- 14红色
- 23黄色
- 还有57个橙子
我试着用随机数来做这件事,但每次我从每个颜色类别中得到绝对最大值时——我基本上从未上过概率(或统计)课所以我真的不知道我在这里做什么-我想也许有人能给我指出正确的方向,或者知道如何用Swift代码计算概率…?此函数将返回一个100个随机
UIColors
的数组,匹配您的概率要求。此代码包括三种主要颜色的概率均为零。如果要包括每种颜色中至少一种的可能性,则将范围更改为1…n
func generateRandomColors() -> [UIColor] {
var randomColors = [UIColor]()
randomColors += Array(repeating: .blue, count: .random(in: 0...10))
randomColors += Array(repeating: .red, count: .random(in: 0...15))
randomColors += Array(repeating: .yellow, count: .random(in: 0...25))
randomColors += Array(repeating: .orange, count: 100 - randomColors.count)
return randomColors.shuffled()
}
在问题中插入您的代码。
.init(重复:.blue,计数:.random(in:0…10))
Swift是一种类型推断语言Swift语言指南不显示.init(重复:)的用法,但显示数组(重复:)。我很感激这两种方法都可以做到。实际上我的主要观点是Int
。count需要一个Int
,就像元素需要一个您省略的UIColor
一样。