Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift中的编码概率_Swift_Probability - Fatal编程技术网

Swift中的编码概率

Swift中的编码概率,swift,probability,Swift,Probability,我想写一个程序,创建100个正方形,规则如下: 最多-但不超过10%的颜色为蓝色 最多-但不超过15%的颜色为红色 最多-但不超过25%的颜色为黄色 其余的都是橙色的 所以基本上每次我运行这个应用程序,我都会得到完全不同的结果。例如,我第一次可能得到: 9布鲁斯 13红色 18黄色 还有60个橙子 下次我可能会: 6布鲁斯 14红色 23黄色 还有57个橙子 等等 我试着用随机数来做这件事,但每次我从每个颜色类别中得到绝对最大值时——我基本上从未上过概率(或统计)课所以我真的不知道我

我想写一个程序,创建100个正方形,规则如下:

  • 最多-但不超过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
一样。