【问题标题】:Is there a way to make OR conditionals span multiple lines? [duplicate]有没有办法让 OR 条件跨越多行? [复制]
【发布时间】:2020-09-26 06:54:34
【问题描述】:

在我正在编写的基于文本的冒险中,我一直在编写 IF 语句以允许多行条件语句,如下所示:

    if certain_input == (
                       "examine bed" or "look at bed" or "look bed" or "look straw" or "inspect straw" or
                       "inspect bed" or "search bed" or "examine straw" or "look at straw"
                      ):
        print("this input has been fulfilled")

以这种格式工作的唯一条件是“检查床”和“检查床”。使用时,所有其他列出的选项都会返回错误。有什么我遗漏的吗?

【问题讨论】:

  • "inspedc bed" 在这里不返回 True,只返回 "examine bed"

标签: python if-statement conditional-statements


【解决方案1】:

尝试将所有这些项目放在一个列表中并使用in

option_lst = ["examine bed", "look at bed", "look bed", "look straw", "inspect straw", "inspect bed", "search bed", "examine straw", "look at straw"]
certain_input = "look at bed"
if certain_input in option_lst:
    print("this input has been fulfilled")

这使您的代码在未来更容易更改并且更优雅。

顺便说一句:

x = ("examine bed" or "look at bed" or "look bed" or "look straw" or "inspect straw" or
     "inspect bed" or "search bed" or "examine straw" or "look at straw")

返回"examine bed",因为"examine bed" 不是空字符串,因此是truth like,所以您只能与"examine bed" 进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    相关资源
    最近更新 更多