擅长:python、mysql、java
<p>您必须使用循环检查每个单词,而不是一次检查所有单词</p>
<p>有一些助手可以在内部实现循环并完成工作,而不是自己实现循环。例如:<code>any(x in s for x in words)</code>将返回<code>True</code>,如果字符串中有任何单词。您可以这样使用它:</p>
<pre><code>def syntaxCheck(s):
words = ("for", "if", "else", "elif", "while", "def", "not")
if any(x in s for x in words):
print("true")
else:
print("false")
syntaxCheck("if while else")
</code></pre>
<p>注意<code>in</code>的两种用法在语法上是不同的。第一个(<code>x in s</code>)是检查字符串<code>x</code>是否在字符串<code>s</code>中。第二个(<code>for x in words</code>)迭代<code>words</code>中的单词,将每个单词分配给变量<code>x</code>以在前半部分中使用</p>
<p>或者,如果需要检查字符串<em>是否仅</em>包含您感兴趣的单词,可以使用<code>all</code>而不是<code>any</code>:</p>
<pre><code>def syntaxCheck(s):
words = ("for", "if", "else", "elif", "while", "def", "not")
if all(x in words for x in s.split()):
print("true")
else:
print("false")
syntaxCheck("if while else")
</code></pre>
<p>你应该熟悉一下<a href="https://docs.python.org/3/library/functions.html" rel="nofollow noreferrer">built-in functions</a>,因为你会发现它们非常有用</p>