擅长:python、mysql、java
<p><code>errorcheck</code>可能修改它作为参数接受的<code>player_input</code>。它是一个新的局部变量,与全局<code>player_input</code>无关。你知道吗</p>
<p>一个简单的解决方案是使<code>player_input</code>成为一个全局变量,但这将是一个糟糕的反模式解决方案,原因如下:</p>
<ul>
<li>全局变量往往导致混乱、难以调试的代码</li>
<li>一个函数最好做一件事,那件事最好是它的名字所暗示的。你知道吗</li>
</ul>
<p>相反,让<code>errorcheck</code>只检查输入的名称。你知道吗</p>
<pre><code>def errorcheck(player_input):
return player_input not in actions
player_input = None
while errorcheck(player_input):
player_input = input('>')
</code></pre>
<p>此时将<code>errorcheck</code>作为函数似乎有点多余。你并不真的需要它:</p>
<pre><code>player_input = None
while player_input not in actions:
player_input = input('>')
</code></pre>