同时使用双重条件和||的循环Swift中的逻辑运算符

问题描述 投票:-1回答:1

我有一个While循环,条件是将它限制为仅重复10次,每次重复一个循环,常数D会生成一个介于0到24之间的随机数,如果D为0,则I将变量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")
    }
}

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

  • [10个周期以上,直到D为0。例如:84个周期。

  • 如果D在10个循环之前为0,则直到10个循环之前循环不会停止到达。

我了解了逻辑运算符,并发现了以下内容:

Swift逻辑运算符&&||是左关联的,这意味着具有多个逻辑运算符的复合表达式评估最左边的子表达式优先。

您推荐什么解决方案?

ios swift xcode while-loop swift-playground
1个回答
3
投票

您只需要打破循环

while S < 10  {
    S += 1
    let D = Int.random(in: 0...24)
     if D == 0 {
       print("D = 0 in a cycle \(S)/10")
        break
     }
}
© www.soinside.com 2019 - 2024. All rights reserved.