调试控制台为每个循环迭代打印相同的随机数
Posted
技术标签:
【中文标题】调试控制台为每个循环迭代打印相同的随机数【英文标题】:Debug console prints the same random number for each loop iteration 【发布时间】:2020-10-25 08:07:12 【问题描述】:我编写了一个简单的代码,它在循环中附加一个随机数。
var randomNumber = Int.random(in: 0...3)
var array = [Int]()
for _ in 1...4
array.append(randomNumber)
print(array)
我没有为每个循环迭代附加不同的数字,而是收到相同的数字。
调试控制台:
[0,0,0,0]
如何为每次循环迭代打印不同的数字?
【问题讨论】:
【参考方案1】:这是因为随机数是在 for 循环之外创建的,并且不会更改,因为它只创建一次。
而是在你的 for 循环中创建随机数
var array = [Int]()
for _ in 1...4
let randomNumber = Int.random(0...3)
array.append(randomNumber)
print(array)
【讨论】:
【参考方案2】:也许您应该在循环中创建随机数,如下所示:
var array = [Int]()
for _ in 1...4
array.append(Int.random(in: 0...3))
print(array)
【讨论】:
以上是关于调试控制台为每个循环迭代打印相同的随机数的主要内容,如果未能解决你的问题,请参考以下文章