我有一个函数,它使用for和while循环检查给定字符串是否在字符串列表中。我不应该使用“in”操作符。下面是我使用for循环的代码:
def word_in_list(words, word):
for strings in words:
if len(words) > 0 and strings == word:
return True
else:
return False
但是,除非单个字符串是列表的第一个元素,否则它不会返回True。如果列表为空,则列表应返回False。如何使用while循环(并且没有“in”操作符)解决相同的问题
当您发现一个不匹配项时,不要返回
False
,当您检查完所有可能性但未找到任何匹配项时,返回False
:此外,无需每次都检查列表的长度,如果它为零,则根本不运行循环,直接返回
False
简单地使用这个代码
由于else语句,您的代码错误。只有在检查整个列表(而不仅仅是第一个元素)之后,函数才能返回False。每当函数到达“return”指令时,它就会停止,因此它只检查第一条指令。这是正确的解决方案:
相关问题 更多 >
编程相关推荐