调试控制台为每个循环迭代打印相同的随机数

Debug console prints the same random number for each loop iteration

我写了一个简单的代码,在循环中附加一个随机数。

var randomNumber = Int.random(in: 0...3)

var array = [Int]()

for _ in 1...4 {
    array.append(randomNumber)
}

print(array)

我没有为每个循环迭代附加不同的数字,而是收到相同的数字。

调试控制台:

[0,0,0,0]

如何为每个循环迭代打印不同的数字?

也许您应该在循环内创建随机数,如下所示:

var array = [Int]()

for _ in 1...4 {
    array.append(Int.random(in: 0...3))
}

print(array)

这是因为随机数是在for循环之外创建的,不会改变,因为它只创建一次。

而是在 for 循环中创建随机数

var array = [Int]()

for _ in 1...4 {
    let randomNumber = Int.random(0...3)
    array.append(randomNumber)
}

print(array)