У меня есть While L oop с условием, которое ограничивает его повторение только 10 раз, каждый раз, когда цикл повторяется, константа D
генерирует случайное число в диапазоне от 0 до 24, если D
равно 0, я меняю переменную dIsZero
на true и впервые распечатываю цикл, где D
равно 0.
var S = 0
var dIsZero = false
while S < 10 || dIsZero == false {
S += 1
let D = Int.random(in: 0...24)
if dIsZero == false && D == 0 {
dIsZero = true
print("D = 0 in a cycle \(S)/10")
}
}
Моя проблема в том, что я хочу, чтобы время L oop также могло заканчиваться, когда D
равно 0, до завершения 10 циклов. Я уже пробовал ввести логический оператор ||
, но он не работает, и я получаю следующие результаты:
10 циклов превышены, пока D
не станет 0. Например: 84 цикла.
Если D
равно 0 перед 10 циклами, l oop не останавливается, пока не будут достигнуты 10 циклов
.
Я читал о логических операторах и обнаружил следующее:
Логические операторы Swift &&
и ||
левоассоциативны, что означает, что составные выражения с несколькими логические операторы сначала оценивают крайнее левое подвыражение.
Какое решение вы порекомендуете?