擅长:python、mysql、java
<p>我假设您正在询问如何检查是否所有字符都是:</p>
<ol>
<li>普通字母(isalpha)</li>
<li>数字</li>
<li>“$&;之一”你知道吗</li>
</ol>
<p>您的代码将分别检查这三个字符,这意味着您首先要测试所有字符是否都是特殊字符之一,然后测试所有字符是否都是普通字母,最后测试所有字符是否都是数字。当然,这种情况永远不会发生,因为数字不可能同时是字母和特殊字符。你知道吗</p>
<p>要解决这个问题,您需要使用<code>or</code>,它将检查您的任何条件是否为真。您还需要将<code>not any(...)</code>更改为<code>not all(...)</code>,这样当出现单个错误时,它将失败,而不仅仅是当所有字符都不满足我们的条件时。您可以使用<code>str.isalnum()</code>将步骤2和3合并为一个步骤</p>
<pre class="lang-py prettyprint-override"><code>if all(char in special or char.isalnum() for char in password):
val = False
return "False" # did you mean to return a string here?
</code></pre>