擅长:python、mysql、java
<p>如果您将<code>playerScore</code>作为参数传递,然后在函数内对其执行操作,<em>全局变量<code>playerScore</code>将不会被更改</em>。在</p>
<p>为什么?<em>Python中的数字是<a href="https://stackoverflow.com/a/8059504/4354477">immutable</a>。</em></p>
<p>等等,什么??是的,当你对一个数字做任何操作并用结果填充某个变量时(例如<code>i += 2</code>),就会创建一个新的number对象</em>。所以,当你把<code>playerScore</code>传递给一个函数时,<em>一个全新的对象被传递到了</em>,所以,<code>scoreCalc</code>得到的不是实际的{<cd1>},而是它的副本。不用说,更改副本不会更改原始版本。在</p>
<p>下面的方法可以做到:</p>
<pre><code>def scoreCalc():
global playerScore
if sixCount == 1:
playerScore += 1
elif sixCount == 2:
playerScore += 5
elif sixCount == 3:
playerScore += 21
return playerScore
</code></pre>