为啥我的代码只读取第一个条件而不检查第二个条件?

Posted

技术标签:

【中文标题】为啥我的代码只读取第一个条件而不检查第二个条件?【英文标题】:Why is my code only reading the first condition and not checking for the second?为什么我的代码只读取第一个条件而不检查第二个条件? 【发布时间】:2021-06-30 04:24:23 【问题描述】:

为什么我的代码只读取第一个条件而不检查我的代码中的第二个条件。

def primary():
    if keyPress.positive:    
        if raySensor.hitObject['primaryWeapon']:
            own['primary'] = raySensor.hitObject['weaponName']
        elif raySensor.hitObject['secondaryWeapon']:
            own['secondary'] = raySensor.hitObject['weaponName']

primary()            

【问题讨论】:

您的意思是raySensor.hitObject['secondaryWeapon'] 而不是raySensor.hitObject['primaryWeapon'] 是的,我没有注意到这一点。我已经编辑了代码。 我不知道怎么做,基本上我只是想让 ray.Sensor 检查它是“主要”还是“次要”然后做点什么。 raySensor.hitObject['primaryWeapon'] 总是真实的吗?它的可能值是多少?是否有可能同时拥有两者? 澄清一下,您认为if keyPress.positive 是您的第一个条件,还是您只是指if / elif 条件?最好创建一个可重现的示例(一个人可以剪切/粘贴来重现问题),并提供输出和预期输出。 【参考方案1】:

一天之后。最后我找到了解决方案。它认为问题在于我使用布尔值而不是字符串。这让我非常努力地思考,我不得不尝试很多关于如何解决这个问题的想法。总之谢谢大家的参与。

【讨论】:

以上是关于为啥我的代码只读取第一个条件而不检查第二个条件?的主要内容,如果未能解决你的问题,请参考以下文章

第二个存在条件不起作用

jQuery忽略第二个条件[重复]

添加第二个连接条件会以指数方式增加查询时间

嵌套`if`s会提高性能吗?

如果条件有效,则转到下一个 ViewController 并传递数据

Haversine 公式,PHP,如果条件适用,则添加到第二个表中