Консоль отладки выводит одно и то же случайное число для каждой итерации цикла

#swift #xcode #swift-playground

#swift #xcode #swift-игровая площадка

Вопрос:

Я написал простой код, который добавляет случайное число внутри цикла.

 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)