只是试图让python能够判断我做过a和b的两个函数中是否都包含字符串“ John”,但它不起作用
我尝试使用elif(例如:'elif“ John”不在a和b'中,而不是那里的“ else”),但这没有什么区别。我尝试从b移除Jack并只留下引号,实际上返回“只有其中一个被命名为John”,这当然是正确的,因为当我将其更改为仅引号时,b不会说“ John”,但是当字符串为“ Jack”时b也不说john,那么当我在其中输入“ Jack”时为什么不说“只有一个叫John”? (很抱歉,我对标点符号的使用不好,对此我非常不好)
以下是供您查看的代码:
a = "John"
b = "Jack"
if "John" in a and b:
print("Both are named John")
else:
print("Only one of them are named John")
当b没有字符串“ John”时,我希望结果说“只有一个叫约翰”,但是总是说“两个都叫约翰”
答案 0 :(得分:3)
您使用if "John" in a and b:
的意思是if ("John" in a) and b:
这是因为 in
的优先级高于or
。
您需要执行以下操作:
a = "John"
b = "Jack"
if "John" in a and "John" in b:
print("Both are named John")
else:
print("Only one of them are named John")
请注意if "John" in a and "John" in b:
,它等效于if ("John" in a) and ("John" in b):