需要解决 if/else 和“and”问题

只是想让python能够判断我制作的两个函数a和b是否都有字符串“John”,但它不起作用


我尝试过使用 elif(例如:'elif "John" not in a and 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”时,我希望结果会说“只有一个叫 John”,但它总是说“Both are named John”


饮歌长啸
浏览 193回答 1
1回答

繁星点点滴滴

你用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):
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python