我试图创建一个函数来检查字符串是否包含单词,但我一直运行到这个错误'in <string>' requires string as left operand, not tuple
我对python相当陌生,所以我不确定它为什么不工作。感谢您的帮助。提前谢谢
def syntaxCheck(s):
words = ("for", "if", "else", "elif", "while", "def", "not")
if words in s:
print("true")
else:
print("false")
syntaxCheck("if while else")
您可以尝试使用
s_list = s.split()
将字符串转换为单词列表,并在迭代列表并比较每个值后,如下所示:您必须使用循环检查每个单词,而不是一次检查所有单词
有一些助手可以在内部实现循环并完成工作,而不是自己实现循环。例如:
any(x in s for x in words)
将返回True
,如果字符串中有任何单词。您可以这样使用它:注意
in
的两种用法在语法上是不同的。第一个(x in s
)是检查字符串x
是否在字符串s
中。第二个(for x in words
)迭代words
中的单词,将每个单词分配给变量x
以在前半部分中使用或者,如果需要检查字符串是否仅包含您感兴趣的单词,可以使用
all
而不是any
:你应该熟悉一下built-in functions,因为你会发现它们非常有用
相关问题 更多 >
编程相关推荐