第二次生成没有完全相同数字的随机数

时间:2019-07-01 23:52:49

标签: swift xcode

因此,我正在使用此代码生成1到13之间的随机整数。这是在按下我的UIButton时执行的代码:

currentValue = Int.random(in: 1 ... 13)

这会生成一个随机值,但是如何避免连续两次获得相同的数字?

1 个答案:

答案 0 :(得分:1)

你不能。否则,它不会是随机的。如果要将其他规则应用于随机函数,则需要编写自己的“随机”函数。如果这是唯一规则,则可以(a)通过将变量存储为lastRandom来记住每个返回值,然后使用while循环生成下一个随机数,直到答案不等于lastRandom。

var lastRandom: Int = -1
func KurtsRandom() -> Int
{
  var result = lastRandom
  while result == lastRandom
  {
    result = Int.random(in: 1 ... 13)
  }

  lastRandom = result

  return result
}