一、遇到的问题
想要查找一个文本中有 “协商品牌”和“政协创新打造”的句子,但是"我的品牌是为人民服务"这句话也能够匹配成功
content = "我的品牌是为人民服务"
if "协商品牌" in content:
print("a")
if "政协创新打造" in content:
print("b")
if "协商品牌" or "政协创新打造" in content:
print("c")
>>> c
二、问题诊断:
- python 中 in 跟 or 的运算符顺序,in 优于or。
- python 中 if 后面所有的非空字符串都为真 True
所以代码应该改正为:
content = "我的品牌是nike,"
if "协商品牌" in content:
print("a")
if "政协创新打造" in content:
print("b")
if "协商品牌" in content or "政协创新打造" in content:
print("c")