<p>这似乎是一个家庭作业,所以我会尽量避免直接回答,但更多的是努力把你推向正确的方向。</p>
<p>你将运行的第一段代码是</p>
<pre><code>...
def main():
password = validPassword() # the password we are trying to check
...
</code></pre>
<p>哦,<code>validPassword(password)</code>接受一个参数,但没有密码,也许您的意思是<code>getPassword()</code></p>
<p>让我们逐行检查<code>validPassword(password)</code>的逻辑</p>
<pre><code>...
def validPassword(password):
if len(password) >= 8:
valid = True
...
</code></pre>
<p>让我们检查字符串的长度是否超过8个字符,如果超过8个字符,则初始化变量valid并将其设置为True</p>
<pre><code>...
if password.alnum():
valid = True
...
</code></pre>
<p>然后不管发生了什么,我们都调用alnum(我不认为它是python中的函数,可能是isalnum的意思)检查密码中的所有字符是否都是数字。
如果是,我们初始化变量valid并将其设置为True。
你可能会说,但我已经初始化了它,实际上,在python中有<a href="http://python-textbok.readthedocs.org/en/1.0/Variables_and_Scope.html" rel="nofollow">scope</a>。</p>
<pre><code>...
if password.isdigit < 2:
valid = True
...
</code></pre>
<p>然后我们检查密码方法<code>isdigt</code>是否小于2,也许您的意思是<code>password.isdigit()</code>我真的很仔细,因为不清楚您在编程或python方面的熟练程度。但如果你的意思是<code>password.isdigit() < 2</code>,那么你是在问密码是不是一个数字,如果是,它是不是小于2。
如果是,我们初始化变量valid并将其设置为True。</p>
<pre><code>...
else:
return False
...
</code></pre>
<p>如果且仅当<code>password.isdigit() < 2</code>为false,则返回false。</p>
<p>以下是一些提示:</p>
<ul>
<li>了解<a href="https://docs.python.org/2/tutorial/controlflow.html" rel="nofollow">control flow in python</a></li>
<li>当你在这里问问题,而不是说,“这里有问题,这里
是我现在的密码,请帮忙,“说,”这是问题,这是我的
当前代码,这是我在x,y,z和a,b,c行所期望的
发生了,请帮忙“如果我们不知道你在哪里挣扎,
我们怎样才能最好地帮助你</li>
<li>试着运行您的代码并向我们展示stacktrace(如果它存在的话),这里肯定会出现错误,python恰好有比大多数语言更好的错误(在我看来)</li>
</ul>
<p>希望我的逐行解释能帮助你找到一些错误,并更好地了解如何继续,如果没有,请随时修改你的问题,以便我们更好地了解如何提供帮助。</p>
<p>快乐的编码。</p>