gpt4 book ai didi

ios - Swift while 循环中的逻辑运算符 'AND'/'OR'

转载 作者:行者123 更新时间:2023-11-28 12:40:14 25 4
gpt4 key购买 nike

我是 Swift 和计算机科学的新手。除了 Apple 文档之外,我还在 iPad 上使用 Swift Playground 来补充我的教育。在 Swift Playground 中,我的代码的目标是让我的角色穿过迷宫。下面的代码将正确地进入我的迷宫:

func navigateAroundWall() {
if isBlockedRight && isBlocked {
turnLeft()
} else if isBlockedRight {
moveForward()
} else {
turnRight()
moveForward()
}
}

while !isOnOpenSwitch {
while !isOnGem && !isOnClosedSwitch {
navigateAroundWall()
}
if isOnGem {
collectGem()
} else {
toggleSwitch()
}
turnLeft()
turnLeft()
}

这是我的困惑所在:

while !isOnGem && !isOnClosedSwitch {
navigateAroundWall()
}

要正确地穿过我的迷宫,如果我的角色“isOnGem”“isOnClosedSwitch”,我的角色不应该“navigateAroundWall”。这个问题是我不明白为什么我的逻辑运算符必须是 AND (&&) 而不是 OR (||) 才能正确运行。为什么只有一个条件为真并使用 AND 运算符时才执行“navigateAroundWall”?

下面是一张有助于您想象迷宫的图片。如您所见,我的角色不会同时在 gem 和开关(右下角的方 block )上.

最佳答案

这是德摩根定律的简单应用:not (a or b) 等于not a and not b

在您的情况下,当 ab 为真时,您不想去参加那个电话 session 。因此,这等于出现的 if 条件。

你也可以用 or 来写它,但是你需要否定它,因为你不想在那些条件下这样做。

关于ios - Swift while 循环中的逻辑运算符 'AND'/'OR',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39587077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com