【发布时间】:2019-04-16 01:06:33
【问题描述】:
我正在尝试创建一个具有多个 AND、OR 和括号的搜索系统。在编写代码时,我遇到了 OR 问题。我不知道我的代码是错的还是我的电脑错了,因为有时它给出了正确的答案,有时却没有。
sentence = ["A", "B", "C"]
bracket = ["X", "or", "B"]
if "or" in bracket:
index_of_or = bracket.index("or")
if bracket[index_of_or -1 ] or bracket[index_of_or +1] in sentence:
bracket = "True"
print(bracket)
else:
bracket = "False"
print(bracket)
我通过更改括号列表中的元素来检查代码。
我把bracket=['X', 'or', 'Z']
输出为 True。
为什么会这样?
【问题讨论】:
-
这是一个骗子,但我找不到。无论如何,你读它就像一个英语句子。你需要
if bracket[index_of_or-1] in sentence or bracket[index_of_or+1] in sentence。 -
加括号
(bracket[index_of_or -1 ] or bracket[index_of_or +1])