带有双条件和 || 的 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 个循环。我已经尝试放置逻辑运算符 ||
但它不起作用,我得到以下结果:
超过 10 个周期,直到 D
为 0。例如:84 个周期。
如果D
在10个循环前为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
}
}
我有一个 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 个循环。我已经尝试放置逻辑运算符 ||
但它不起作用,我得到以下结果:
超过 10 个周期,直到
D
为 0。例如:84 个周期。如果
D
在10个循环前为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
}
}