我有一个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逻辑运算符
&&
和||
是左关联的,这意味着具有多个逻辑运算符的复合表达式评估最左边的子表达式优先。
您推荐什么解决方案?
您只需要打破循环
while S < 10 {
S += 1
let D = Int.random(in: 0...24)
if D == 0 {
print("D = 0 in a cycle \(S)/10")
break
}
}