我写了下面的代码来查找变量中的文本。它为外部if条件工作,而不是内部条件(与外部条件相同)。在
name = "Sachin"
if name.find("chin"):
print("Text Presented")
print(name)
if name.find("Sac"):
print("Sac is prsented")
print(name)
开/关:
呈现的文本
沙钦
但它适用于以下代码(搜索低位字符):
^{pr2}$
开/关:
呈现的文本
萨钦
已完成Sac
沙钦
有人能告诉我为什么会这样吗?在
Tags:
name.find("chin")
将返回值2
,在python中它的布尔值是True
。在name.find("Sac")
将返回值0
,在python中它的布尔值是False
。在name.find("sac")
将返回值-1
,在python中它的布尔值是True
。在使用
in
运算符,我认为这将为您提供所需的功能。 见下文:Pythonfind(sub)方法返回子字符串子所在的最低索引,否则返回-1。在
实际情况是,
name.find("Sac")
返回0
,它的布尔值为False
,因此if
-子句不会按您想要的方式触发它们。在试试这个:
注意:
0
由name.find("Sac")
返回,因为"Sachin"
处的"Sac"
从位置0开始(Python使用0-index)。在除了0-index之外,Python还区分大小写,这意味着}(这是当您在
name.find("sac")
返回{str
中尝试find
的内容是而不是时发生的)。但是,bool(-1) = 1
所以if
最终触发并执行其下面的代码。在相关问题 更多 >
编程相关推荐