擅长:python、mysql、java
<p>问题是您在函数中分配trysLeft,因此它假定它具有局部(而不是全局)作用域。但实际上您需要分配全局变量,因此需要声明trysLeft具有全局作用域。将<code>trys()</code>函数更改为:</p>
<pre><code>def trys():
global trysLeft
trysLeft -= 1
print "You have %d trys left." %trysLeft
</code></pre>
<p>有关更多信息,请参见<a href="https://docs.python.org/3/faq/programming.html#why-am-i-getting-an-unboundlocalerror-when-the-variable-has-a-value" rel="nofollow">FAQ</a></p>
<p>FWIW,解决这个问题的正确方法是将变量传递给函数,而不是使用全局变量,但这超出了问题的范围。你知道吗</p>