Python 试图在字符串中查找字符时,字符串中的多个字符返回假布尔值

Python 试图在字符串中查找字符时,字符串中的多个字符返回假布尔值,python,string,python-3.x,character,Python,String,Python 3.x,Character,当我把它放进接线员的时候 isItThereS(“h”,“你好,世界”) 真的 但是当我去寻找一个重复像“l”或“o”的字符时,它返回false isItThereS(“l”,“你好,世界”) 假的 我如何才能让它不返回false,而是返回True,因为从技术上讲,字符在字符串中。您可以简单地使用in运算符 #Function takes a character and a string and returns a boolean reflecting if #the character is

当我把它放进接线员的时候

isItThereS(“h”,“你好,世界”) 真的

但是当我去寻找一个重复像“l”或“o”的字符时,它返回false

isItThereS(“l”,“你好,世界”) 假的


我如何才能让它不返回false,而是返回True,因为从技术上讲,字符在字符串中。

您可以简单地使用in运算符

#Function takes a character and a string and returns a boolean reflecting if
#the character is found in the string.
def isItThereS(letter, word):
    letInWord = 0
    for l in word:
        if l == letter:
            letInWord += 1
    return letInWord == True

您可以简单地使用in操作符

#Function takes a character and a string and returns a boolean reflecting if
#the character is found in the string.
def isItThereS(letter, word):
    letInWord = 0
    for l in word:
        if l == letter:
            letInWord += 1
    return letInWord == True

如果真的想使用自定义函数,请将return改为
return letInWord>=1
。因为除了
1==True
之外的所有内容都将计算为
False
。(因此,对于函数来说,更合适的名称应该是
is\u it\u there\u only\u only


否则,请使用armak提供的解决方案。

如果您确实想使用自定义函数,请将您的return更改为
return letInWord>=1
。因为除了
1==True
之外的所有内容都将计算为
False
。(因此,对于函数来说,更合适的名称应该是
is\u it\u there\u only\u only


否则,请使用armak提供的解决方案。

因为
True
的计算结果为
1
,因此如果出现次数大于1,则会得到错误的输出。必须使用内置方法,如
str.find()
来执行此类操作,或者如果仍要修改这段代码,请使用
return not letInWord==False
,因为
True
的计算结果为
1
,因此如果出现次数大于1,则会得到错误的输出。必须使用内置方法,如
str.find()
来执行此类操作,或者如果仍要修改这段代码,请使用
return not letInWord==False
顺便说一句,函数名是可以改进的,可以做到这一点!非常感谢。:)顺便说一句,函数名是可以改进的!非常感谢。:)