带有双条件和 || 的 While 循环Swift 中的逻辑运算符

While loop with double conditional and || logical operator in Swift

我有一个 While 循环,条件限制它只能重复 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")
    }
}

我的问题是我希望 While 循环也可以在 D 为 0 时结束,然后再完成 10 个循环。我已经尝试放置逻辑运算符 || 但它不起作用,我得到以下结果:

我阅读了有关逻辑运算符的内容并发现了以下内容:

The Swift logical operators && and || are left-associative, meaning that compound expressions with multiple logical operators evaluate the leftmost subexpression first.

您推荐什么解决方案?

你只需要打破循环

while S < 10  {
    S += 1
    let D = Int.random(in: 0...24)
     if D == 0 {
       print("D = 0 in a cycle \(S)/10")
        break
     }
}