如何解决字符串不等式

alw*_*btc 0 python string inequality

在python中a是:

a = "XPZC"
Run Code Online (Sandbox Code Playgroud)

为什么False在python中关注?

(str(a)[:2] == ("YP" or "XP"))
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 9

这是因为,("YP" or "XP")做出决议"YP",因为它是要求回报是否"YP""XP"决心True.

在这种情况下,'或'被短路(因为"YP"不是False,"XP"不进行评估).它返回非False值,"YP"它是......"YP"

a[:2]等于XP.此外,您不需要调用,str()因为a是一个字符串.

>>> a = "XPZC"
>>> a[:2]
'XP'
>>> "YP" or "XP"
'YP'
Run Code Online (Sandbox Code Playgroud)

您可能想要使用in:

>>> a[:2] in ("YP", "XP")
True
Run Code Online (Sandbox Code Playgroud)

或者,使用or以下方法检查两个条件:

>>> s = a[:2]
>>> s == "YP" or s == "XP"
True
Run Code Online (Sandbox Code Playgroud)

  • ("YP"或"XP")要求返回"YP"或"XP"是否解析为True.在这种情况下,'或'被短路(因为"YP"不是假,所以不评估"XP").它返回"YP"的非假值,即"YP". (2认同)