wow = ["wowza this is a really long string wows"]
if "long" or "is" in wow:
print("yes")
输出为yes
然而,如果我放入
wow = ["wowza this is a really long string wows"]
if "long" in wow:
print("yes")
输出为nothing
同样:
wow = ["wowza this is a really long string wows"]
if "is" in wow:
print("yes")
为什么?
我认为or
应该是其中之一?
但如果单独输入两者都是假的但是or
它会变成真的吗?
或者这是写if or statement?
应该这样写吗?
if "long" in wow or "is" in wow:
答案 0 :(得分:4)
好的,我们在这里有几个不同的问题。
if "long" or "is" in wow:
这意味着:
if ("long") or ("is" in wow):
所以是的,您需要将其更改为:
if "long" in wow or "is" in wow:
但是仍然没有做你想要的,因为wow
是一个列表。您问的是"long"
是否是该列表的元素。但"long"
不是列表的元素。列表中唯一的元素是字符串"wowza this is a really long string wows"
,它与"long"
不同。您想要检查字符串本身,而不是列表。
答案 1 :(得分:4)
如何将您的条件发送到交互式提示符(如果有的话,运行python或ipython)以查看它返回的内容?
>>> wow = ["wowza this is a really long string wows"]
>>> "long" in wow
False
>>> "long" or "is" in wow
'long'
您可能想要测试字符串,而不是单个项目列表:
>>> wow = wow[0]
>>> "long" in wow
True
>>> "long" or "is" in wow
'long'
>>> ("long" or "is") in wow
True
>>> wow
'wowza this is a really long string wows'