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

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)

【讨论】:

以上是关于调试控制台为每个循环迭代打印相同的随机数的主要内容,如果未能解决你的问题,请参考以下文章

如何为附加到元素的每个事件侦听器打印或迭代? [复制]

while循环对C++中字符串中的每个单词重复

Python入门之控制结构 - 循环结构——第4关:迭代器

在 Xcode Playground 中打印每个数组项?

题:统计数字出现次数。 随机生成100个数字,数字范围从1到10,统计每个数字出现的次数并打印到控制台。

python流程控制